Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I define and use a variable in XAML to define a color?

Tags:

wpf

xaml

I have a number of elements in my XAML which define Foreground="#555" to be the color of faded text in a readonly textbox.

<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"/> 

How can I put this value in a XAML variable and reference in each attribute it so that I only have to change it in one place?

I'm thinking you can do something like this:

<sys:String x:Key="ReadOnlyTextColor">#555</sys:String>  ...      <TextBox Foreground="{StaticResource ReadOnlyTextColor}"/> 

And what would be the property xmlns:sys=... reference for this?

like image 755
Edward Tanguay Avatar asked Jun 24 '09 10:06

Edward Tanguay


1 Answers

Try defining your color as a SolidColorBrush:

<SolidColorBrush x:Key="ReadOnlyTextBrush" Color="#555555" /> 

...

<TextBox Foreground="{StaticResource ReadOnlyTextColor}" /> 
like image 152
Matt Hamilton Avatar answered Oct 07 '22 13:10

Matt Hamilton