2012-08-28 11 views
7
<ResourceDictionary 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:Microsoft_Windows_Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 

<LinearGradientBrush x:Key="ButtonNormalBackgroundBrush" EndPoint="0.5,1" StartPoint="0.5,0"> 
    <GradientStop Color="#C10099FF" Offset="0"/> 
    <GradientStop Color="#C16699CC" Offset="1"/> 
    <GradientStop Color="#C1006699" Offset="0.49"/> 
</LinearGradientBrush> 
<ResourceDictionary/> 

Ahora quiero obtener LinearGradientBrush de ResourceDictonary y aplicarlo dinámicamente a un botón como color de fondo en wpf.¿Cómo obtener Pinceles del Diccionario de recursos y aplicarlo a un elemento dinámicamente en wpf?

BtnGetBrushes.Background = Brushes.Green; 

Quiero aplicar el color anterior en lugar de esto (Brushes.Green). ¿Qué debo hacer para eso?

Respuesta

14

Asumiendo que su ResourceDictionary disponible en el contexto:

<Button Background="{DynamicResource ResourceKey=ButtonNormalBackgroundBrush}" /> 

o en el Código

button.Background = (Brush)FindResource("ButtonNormalBackgroundBrush"); 
4
BtnGetBrushes.Background = this.Resources["ButtonNormalBackgroundBrush"] as LinearGradientBrush; 
+0

me funciona en Windows Phone 8.0 Silverlight – aloisdg

Cuestiones relacionadas