Reputation: 4928
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero">
<LinearGradientBrush x:Key="ButtonNormalBackgroundBrush"
StartPoint = "0.5,0"
EndPoint = "0.5,1">
<GradientStop Color="#C10099FF" Offset="0"/>
<GradientStop Color="#C16699CC" Offset="1"/>
<GradientStop Color="#C1006699" Offset="0.49"/>
</LinearGradientBrush>
<ResourceDictionary/>
Now i want to get LinearGradientBrush from ResourceDictonary and apply it dynamically to a button as background color in wpf.
BtnGetBrushes.Background = Brushes.Green;
I want to apply the above color instead of this(Brushes.Green). what should i do for that ?
Upvotes: 12
Views: 17717
Reputation: 3929
BtnGetBrushes.Background = this.Resources["ButtonNormalBackgroundBrush"] as LinearGradientBrush;
Upvotes: 5
Reputation: 5246
Assuming your ResourceDictionary available in the context:
<Button Background="{DynamicResource ResourceKey=ButtonNormalBackgroundBrush}" />
or in Code
button.Background = (Brush)FindResource("ButtonNormalBackgroundBrush");
Upvotes: 21