防止 XAML 中的重复代码
Prevent duplicate code in XAML
我在 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}"/>
我在 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}"/>