防止 XAML 中的重复代码

2024-03-21

我在 UniformGrid 中使用了很多 Rectangle 控件。它们含有 XAML 代码的所有相同部分都处理通过 MultiBinding 设置 Fill 属性(请参见下面的示例)。有没有办法防止这种代码重复?减少 XAML 代码的首选方法是什么?

多谢 !

<Rectangle>
    <Rectangle.Fill>
        <MultiBinding Converter="{StaticResource Converter}">
            <Binding Path="Field"/>
            <Binding>
                <Binding.RelativeSource>
                    <RelativeSource Mode="Self"/>
                </Binding.RelativeSource>
            </Binding>
        </MultiBinding>
    </Rectangle.Fill>
</Rectangle>

您可以定义一个样式:

<Window.Resources>
   <Style x:Key="RectangleStyle" TargetType="Rectangle">
      <Setter Property="Fill">
         <Setter.Value>
            <MultiBinding Converter="{StaticResource Converter}">
               <Binding Path="Field"/>
               <Binding>
                  <Binding.RelativeSource>
                     <RelativeSource Mode="Self"/>
                  </Binding.RelativeSource>
               </Binding>
           </MultiBinding>
         </Setter.Value>
      </Setter>
   </Style>
</Window.Resources>

并像这样使用它:

<Rectangle Style="{StaticResource RectangleStyle}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

防止 XAML 中的重复代码 的相关文章

  • 数据结构的优化存储以实现快速查找和持久化

    Scenario 我有以下方法 public void AddItemSecurity int itemId int userIds public int GetValidItemIds int userId 最初我正在考虑表单上的存储 i
  • 将列表数组中的值绑定到列表框

    任何机构都可以给出一个简短的示例 用于将列表数组中的值绑定到 c net 中的列表框 这取决于您的列表数组的情况 让我们从一个简单的示例开始 List
  • 在 C++ 中,std::string::push_back() 的摊余复杂度是 O(1) 吗?

    我知道标准指定它适用于向量 但是字符串呢 是的 它是摊销常数时间 请参见第 716 页的表 101本文件的 http www open std org jtc1 sc22 wg21 docs papers 2012 n3485 pdf 表
  • 如何在 Visual Studio 2008 中设置默认 XAML 视图

    在 Visual Studio 2008 中 当您向 WPF 应用程序项目添加新的 XAML 窗口时 您获得的默认视图是 拆分视图 其中可视化设计器和 XAML 代码在同一文档中显示在另一个之上 我更喜欢另一种视图 您可以通过双击 设计 或
  • 如何自定义 ASP.Net Core 模型绑定错误?

    我只想从我的 Web API Asp net Core 2 1 返回标准化的错误响应 但我似乎不知道如何处理模型绑定错误 该项目刚刚从 ASP NET Core Web 应用程序 gt API 模板创建 我有一个简单的操作定义为 Route
  • Visual Studio 2015 C# 找不到参考

    我在使用 Visual Studio 2015 和 C 时遇到了问题 在同一解决方案中添加对其他项目的引用时 Visual Studio 找不到所有类 例如 我创建了一个单元测试项目 我添加了对我创建的通信项目的引用 库中有 10 个类 但
  • 是否返回 std::move (x)?

    Are std vector
  • Math.Sin、Math.Cos 和 Math.Tan 精度以及正确显示它们的方法

    我正在用 C 编写一个计算器 textBoxResult是一个文本框 我在其中显示数字 recount是以度为单位获取角度并以弧度为单位返回的函数 我的角度是从texBoxInput public double recount int nu
  • C++ 虚拟关键字与重写函数

    我正在学习c 并且正在学习virtual关键字 我在互联网上搜索试图理解它但无济于事 我进入编辑器并做了以下实验 期望它打印两次基本消息 因为我的印象是需要 virtual 关键字来覆盖函数 然而 它打印出了两条不同的消息 有人可以向我解释
  • C++ 中类型信息何时向后流动?

    我刚刚看了 Stephan T Lavavej 的演讲CppCon 2018关于 类模板参数推导 在哪里某个点 https youtu be H ut6j1BYU t 941他顺便说 在 C 中 类型信息几乎永远不会向后流动 我不得不说 几
  • 如何将对 System.Data.DataSetExtensions 的引用添加到网站 ascx.cs 文件?

    我们正在处理一个网站项目并尝试参考System Data DataSetExtensions 使用 Web 应用程序会更好 不过 技术主管有她的理由 这是我们尝试过的 找到装配路径 打开 Visual Studio 命令提示符并运行sn e
  • 不可能的事情发生了!这是什么意思?

    我遇到了一个有趣的运行时错误 我认为这是某种内存泄漏 我写了以下程序 C Code include
  • 为什么 C++20 范围不只提供管道语法?

    我知道这个问题听起来很奇怪 所以这里有一些背景信息 最近 我很失望地了解到 C 20 范围内的映射缩减并不像人们所期望的那样工作 即 const double val data transform accumulate 不起作用 你必须这样
  • 函数中的重复参数检查

    我经常有调用层次结构 因为所有方法都需要相同的参数 如果我不想将它们放在实例级别 类的成员 那么我总是问我在每个方法中检查它们的有效性是否有意义 例如 public void MethodA object o if null o throw
  • Xamarin.Android JmDNS 绑定问题

    我开始研究 Xamarin Android 的 JmDNS 绑定 我设法构建了绑定 但无法从代码中引用它 https github com ytn3rd monodroid bindings tree master JmDNS https
  • 更改成员资格、角色等的默认连接字符串

    默认情况下 我的网络应用程序似乎正在使用LocalSqlServer作为用于任何应用程序服务 例如成员资格 角色 身份验证 等 的连接字符串 有什么方法可以更改默认连接字符串应该是什么 默认值是 LocalSqlServer 似乎很随意 我
  • 您的 C++ 程序中是否仍然存在内存分配失败问题 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在为公司写一些指导方针 我需要回答一些棘手的问题 这一项是相当困难的 解决方案可以是 根本不跟踪 确保使用 new 分配对象 这会在分配失败
  • 使用 Crypto++ 和 .NET 的 CFB 模式下的 TripleDES

    我正在尝试使用 TripleDES 使用 C 应用程序获得相同的结果 该应用程序具有Crypto https www cryptopp com 和 NET应用程序使用三重DESCryptoServiceProvider https msdn
  • 频繁插入已排序的集合

    我已经对集合 列表 进行了排序 并且我需要始终保持其排序 我目前在我的集合上使用 List BinarySearch 然后在正确的位置插入元素 我也尝试过在每次插入后对列表进行排序 但性能不可接受 有没有一种解决方案可以提供更好的性能 也许
  • 应用非限定名称查找而不是依赖于参数的名称查找

    考虑标准 sec 3 4 1 3 中的一个示例 typedef int f namespace N struct A friend void f A operator int void g A a int i f a f is the ty

随机推荐

  • onHashChange 在 Safari 中工作吗?

    Does onHashChange or hashChange在 Safari 中工作 我在 Windows 7 上使用 Safari 4 0 4 进行了测试 但它对我不起作用 如果不起作用 是否有任何解决方案可以跟踪hash已经改变 在我
  • 如何在黑莓中创建选项卡栏应用程序用户界面...?

    如何在 BB 中制作选项卡栏基础应用程序 应用程序的每个屏幕都将有此选项卡 并且每个选项卡将有单独的导航控制器堆栈 以便我们可以轻松地推送屏幕 您必须使用水平字段管理器创建选项卡栏 然后将字段添加到水平字段管理器 然后将管理器设置为屏幕的标
  • 将 DataGrid 列标题居中对齐

    我需要对齐WPF DataGrid Column Header发短信至Center 我创建了一个样式并使用HeaderStyle属性如下 Style
  • Log4Net 不工作

    我正在 Windows XP 中以管理员用户身份使用 C 开发 NET Framework 3 5 并使用 log4net 进行 NET Framework 2 0 二进制引用 我曾尝试过log4net 缺少什么 未创建日志文件 https
  • TCPDF:HTML 表格和分页符

    I am creating a large HTML table and I have problem with page breaks as you can see in the following image Is there a me
  • 获取准确的窗口区域大小 - CreateWindow 窗口大小不是正确的窗口大小

    在尝试用 C 创建窗口并绘制窗口大小与我设置的大小不匹配的矩形时 我注意到一些非常烦人的事情 例如 如果我设置 480x240 窗口并尝试通过获取 GetWindowRect hwnd rect 从上到下 从左到右绘制矩形并计算宽度和高度
  • jQuery Post blob 对象给出 Uncaught TypeError:非法调用

    我正在尝试使用 jQuery 发布文件post 并得到TypeError Illegal invocation function fbUpload token var dataURL canvas toDataURL image jpeg
  • 我的 java 程序正在运行编译但没有显示任何内容

    package myproj import java sql Connection import java sql DriverManager import java sql PreparedStatement import java sq
  • 使用 Javascript 检查测验答案的最安全方法

    在努力完成一个使用 AJAX PHP 设计匹配问答游戏的项目后 我了解到我公司用于分发其产品的学习套件不允许我在后端运行服务器端脚本来安全地检查答案 这都是由于不幸的等级专制造成的 长话短说 我必须以某种方式检查客户端的答案 或找出一些棘手
  • 使用 DinkToPdf 分隔分页符

    我的 Program cs 中有这个 C var page plain var slnpath Directory GetCurrentDirectory var htmlpath slnpath HtmlTemplates page ht
  • Ruby:在代码块中更改类静态方法

    给定 Thread 类及其当前方法 现在在测试中 我想这样做 def test alter current thread Thread current a stubbed method do something that involve t
  • 如果表尚不存在则创建

    我正在尝试创建一个表 如果它尚不存在 我目前正在检查它是否存在于DBA TABLES首先 如果该查询没有返回任何内容 则插入 有没有办法只签入同一条语句 这样我就不必将其分解为单独的查询 这就是我目前所拥有的 BEGIN SELECT CO
  • AWS DynamoDB Objective C 中递增 Number 属性

    我正在努力增加已保存在 DynamoDB 上的表中的项目的数字属性值 我的代码当前是 AWSDynamoDBUpdateItemInput updateItemInput AWSDynamoDBUpdateItemInput new upd
  • PIG 将文本行转换为稀疏向量

    我必须使用 Apache PIG 将需要合并的文件 第一个文件包含书名列表 就像这样 每个书名都单独一行 Ted Dunning Mahout in Action Leo Tolstoy War and Peace Douglas Adam
  • Angular2 中 Http.DELETE 请求的正文

    我正在尝试与 Angular 2 前端的某种 RESTful API 进行交互 要从集合中删除某些项目 除了删除的唯一 id 可以附加到 url 中 之外 我还需要发送一些其他数据 即身份验证令牌 一些集合信息和一些辅助数据 我发现最直接的
  • django m2m_changed 通过模型自定义

    在 Django 中 我确实有两个模型 作者 和 出版 它们与多对多字段连接 以便我可以将不同的作者分配给出版物 此外 我必须使用自定义的贯穿模型 作者身份 来定义正确的顺序 class Author models Model first
  • 我如何在谷歌应用程序引擎上为 html5 创建 websocket

    这是demo http html5demos com web socket一个简单的聊天客户端 您必须在 webkit 浏览器上打开它 例如 chrome 和 Safari 该演示使用基于node js的Web套接字服务器 websocke
  • 错误:ANDROID_HOME 未设置,并且“android”命令不在您的路径中。您必须至少满足其中一项条件。

    我正在尝试安装 PhoneGap 但收到以下错误 错误 ANDROID HOME 未设置 并且 android 命令不在您的路径中 您必须至少满足其中一项条件 错误 截图 我该如何确保 Android 正确设置以与 Cordova 一起使用
  • Angular2 提供自定义 Http 不起作用

    我们需要一个全局空间来捕获 http 401 403 和 500 响应 我看了一些教程并尝试了扩展 http 的方法 这是我自定义的HTTP 大部分是从网上复制的 import Http ConnectionBackend Request
  • 防止 XAML 中的重复代码

    我在 UniformGrid 中使用了很多 Rectangle 控件 它们含有 XAML 代码的所有相同部分都处理通过 MultiBinding 设置 Fill 属性 请参见下面的示例 有没有办法防止这种代码重复 减少 XAML 代码的首选