C# 防止XAML中的重复代码
我在UniformGrid中使用了很多矩形控件。它们包含 XAML代码的所有相同部分都处理通过多重绑定设置Fill属性(参见下面的示例)。有没有办法防止这种代码重复?减少XAML代码的首选方法是什么 太多了C# 防止XAML中的重复代码,c#,wpf,xaml,C#,Wpf,Xaml,我在UniformGrid中使用了很多矩形控件。它们包含 XAML代码的所有相同部分都处理通过多重绑定设置Fill属性(参见下面的示例)。有没有办法防止这种代码重复?减少XAML代码的首选方法是什么 太多了 <Rectangle> <Rectangle.Fill> <MultiBinding Converter="{StaticResource Converter}"> <Binding Path="Fie
<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}"/>
创建一个新的用户控件
。您可以在app.xaml中添加模板。您可以编写一个样式并将其添加到应用程序资源中,然后重用该样式,或者您可以创建一个具有相同样式的自定义控件并使用它。如果您希望能够在不同的项目中重用该样式或模板,可以将它们放在库中并也可以使用resourcedictionary获取它们