我目前在整个应用程序中都有一组Rectangles
,我在XAML
中定义的方式如下:
<Rectangle Fill="LightBlue"/>
目前我可能有Rectangles,所以更改
Colour
的Rectangle
并不是太大的问题。但是,随着我的App的发展,毫无疑问,我会拥有更多的
Rectangles
,如果确定需要更改其颜色,我可以看到可伸缩性将是一个大问题。存储
Background
的Rectangle
以便使我可以在一处更改它以更改程序中所有Rectangles
的最有效方法是什么?这也将扩展为
TextBox
样式。如果我想为整个应用程序中的每个TextBox
设置一个自定义样式,那么什么是可扩展的方法呢? 最佳答案
尝试使用样式:
将其插入您的app.xaml
中以影响所有Windows中的所有Rectangles
。
<Application.Resources>
<!-- Use the Color ala "Lorentz Vedeler" to make it reusable -->
<SolidColorBrush x:Key="myRectangleBrush" Color="LightBlue" />
<!-- Apply it in Style -->
<Style TargetType="Rectangle">
<Setter Property="Fill" Value="{StaticResource myRectangleBrush}" />
</Style>
</Application.Resources>
要么
对于当前
Rectangles
中的所有Window
。<Window.Resources>
<Style TargetType="Rectangle">
<Setter Property="Fill" Value="LightBlue" />
</Style>
</Window.Resources>
注意:
不要指定
x:Key
,因为这样您就需要为要应用它的每个Style
设置Rectangle
。 TargetType
会将其应用于该UI-Elements
的所有Type
。 <Window.Resources>
<Style TargetType="Rectangle" x:Key="RectStyle">
<Setter Property="Fill" Value="LightBlue" />
</Style>
</Window.Resources>
<Rectangle Style="{StaticResource RectStyle}" />