Wpf 如何在XAML中定义和使用变量来定义颜色?
我的XAML中有许多元素将前台=“#555”定义为只读文本框中褪色文本的颜色Wpf 如何在XAML中定义和使用变量来定义颜色?,wpf,xaml,Wpf,Xaml,我的XAML中有许多元素将前台=“#555”定义为只读文本框中褪色文本的颜色 <TextBlock Text="{Binding SingularModelClassFileTitle}" Margin="0 10 0 0"/> <TextBox Text="{Binding SingularModelClassFileName}" HorizontalAlignment="Left" IsReadOnly="True" F
<TextBlock Text="{Binding SingularModelClassFileTitle}" Margin="0 10 0 0"/>
<TextBox Text="{Binding SingularModelClassFileName}"
HorizontalAlignment="Left"
IsReadOnly="True"
Foreground="#555"
Width="500"/>
<TextBox
VerticalScrollBarVisibility="Visible"
AcceptsReturn="True"
Width="500"
Height="100"
IsReadOnly="True"
Foreground="#555"
Text="{Binding SingularModelClassContent}"
HorizontalAlignment="Left"
Margin="0 0 0 20"/>
如何将该值放入XAML变量中,并在每个属性中引用它,以便只需在一个位置更改它
我想你可以做这样的事:
<sys:String x:Key="ReadOnlyTextColor">#555</sys:String>
...
<TextBox Foreground="{StaticResource ReadOnlyTextColor}"/>
#555
...
那么该属性的引用是什么?尝试将颜色定义为:
有时您可能需要定义颜色而不是画笔:(一种情况是您希望能够使用颜色参数定义渐变) 在这种情况下,您可以这样定义它们:
<Color x:Key="ButtonColor1">Blue</Color>
<Color x:Key="ButtonColor1">#AABBCC</Color>
<Color x:Key="ButtonColor1" A="0" R="124" G="111" B="44"/>
蓝色
#AABBCC
爱德华,你问的问题很好。学习WPF时,您的名字会一次又一次地弹出;-)遗憾的是,最后一个选项在Windows Phone上抛出“无法从文本“00”创建“System.Byte”。第二个很有魅力,干杯!然后要引用颜色use{StaticResource Blue}
@StephenHosking,否,要引用颜色use{StaticResource ButtonColor1}
最后一个应该是A=“0”
。您在这里使用的是字节,而不是十六进制数字的字符串表示形式。Matt是Color
不能直接用作StaticResource
的原因,因为它是值类型,而不是引用类型?@MattDavisColor
无法使用,因为TextBox的前台属性是Brush
类型。您可以创建一个颜色
,并在SolidColorBrush
中引用它作为StaticResource
。
<TextBox Foreground="{StaticResource ReadOnlyTextColor}" />
<Color x:Key="ButtonColor1">Blue</Color>
<Color x:Key="ButtonColor1">#AABBCC</Color>
<Color x:Key="ButtonColor1" A="0" R="124" G="111" B="44"/>