动态资源 使用 DynamicResource 关键字
静态 就是 StaticResource
原则上是 能用静态就用静态 动态会让前台界面压力很大~
动态资源引用 就是可以在后台改变资源 显示不同的样式 资源是一样的 就看关键字用什么
效果
-
<Window.Resources>
-
<LinearGradientBrush x:Key=
"RectFill" EndPoint=
"0.5,1" StartPoint=
"0.5,0">
-
<GradientStop Color=
"BurlyWood" Offset=
"0"/>
-
<GradientStop Color=
"White" Offset=
"1"/>
-
</LinearGradientBrush>
-
</Window.Resources>
-
<Grid>
-
<Rectangle Fill=
"{ DynamicResource RectFill}" HorizontalAlignment=
"Left" Height=
"76" Margin=
"85,70,0,0" Stroke=
"Black" VerticalAlignment=
"Top" Width=
"243">
-
-
</Rectangle>
-
<RadioButton x:Name=
"R" Content=
"R" HorizontalAlignment=
"Left" Margin=
"377,70,0,0" VerticalAlignment=
"Top" Click=
"R_Click"/>
-
<RadioButton x:Name=
"G" Content=
"G" HorizontalAlignment=
"Left" Margin=
"377,98,0,0" VerticalAlignment=
"Top" Click=
"G_Click"/>
-
<RadioButton x:Name=
"B" Content=
"B" HorizontalAlignment=
"Left" Margin=
"377,130,0,0" VerticalAlignment=
"Top" Click=
"B_Click"/>
-
-
</Grid>
-
private void R_Click(object sender, RoutedEventArgs e)
-
{
-
var bursh = Resources[
"RectFill"];
-
if (bursh
is LinearGradientBrush)
-
{
-
LinearGradientBrush Ibursh = (LinearGradientBrush)bursh;
-
Ibursh =
new LinearGradientBrush()
-
{
-
GradientStops =
new GradientStopCollection()
-
{
-
new GradientStop(Colors.BurlyWood,
0),
-
new GradientStop(Colors.Red,
1)
-
-
}
-
};
-
Resources[
"RectFill"] = Ibursh;
-
}
-
-
}
-
-
private void G_Click(object sender, RoutedEventArgs e)
-
{
-
var bursh = Resources[
"RectFill"];
-
if (bursh
is LinearGradientBrush)
-
{
-
LinearGradientBrush Ibursh = (LinearGradientBrush)bursh;
-
Ibursh =
new LinearGradientBrush()
-
{
-
GradientStops =
new GradientStopCollection()
-
{
-
new GradientStop(Colors.BurlyWood,
0),
-
new GradientStop(Colors.Green,
1)
-
-
}
-
};
-
Resources[
"RectFill"] = Ibursh;
-
}
-
-
}
-
-
private void B_Click(object sender, RoutedEventArgs e)
-
{
-
var bursh = Resources[
"RectFill"];
-
if (bursh
is LinearGradientBrush)
-
{
-
LinearGradientBrush Ibursh = (LinearGradientBrush)bursh;
-
Ibursh =
new LinearGradientBrush()
-
{
-
GradientStops =
new GradientStopCollection()
-
{
-
new GradientStop(Colors.BurlyWood,
0),
-
new GradientStop(Colors.Blue,
1)
-
-
}
-
};
-
Resources[
"RectFill"] = Ibursh;
-
}
-
-
}