WPF 精修篇 动态资源
原文:WPF 精修篇 动态资源
动态资源 使用 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;
-
}
-
-
}
WPF 精修篇 动态资源的更多相关文章
- WPF 精修篇 管理资源字典
原文:WPF 精修篇 管理资源字典 样式太多 每个界面可能需要全局的样式 有没有肯能 WPF 中的样式 像Asp.net中 的CSS一样管理那 有的 有资源字典 BurshDictionary &l ...
- WPF 精修篇 静态资源
原文:WPF 精修篇 静态资源 在WPF中 如果设置好了一个控件样式或者矩形样式 如果Copy出一个新的 那么样式也会双份 比如 下面的矩形 我定义好了一个 Copy 以后 就出现一个新的 但是改变样 ...
- WPF 精修篇 依赖属性
原文:WPF 精修篇 依赖属性 依赖属性使用场景 1. 希望可在样式中设置属性. 2. 希望属性支持数据绑定. 3. 希望可使用动态资源引用设置属性. 4. 希望从元素树中的父元素自动继承属性值. 5 ...
- WPF 精修篇 数据触发器
原文:WPF 精修篇 数据触发器 数据触发器 可以使用Binding 来绑定控件 或者数据源 来触发相关动作 举栗子 <Window.Resources> <Style Target ...
- WPF 精修篇 属性触发器
原文:WPF 精修篇 属性触发器 属性触发器是通过 某个条件触发改变属性 通过无代码实现功能 <Style TargetType="{x:Type Label}"> ...
- WPF 精修篇 样式继承
原文:WPF 精修篇 样式继承 这个 是新知识 样式可以继承 <Style x:Key="TextBlockStyleBase" TargetType="{x:Ty ...
- WPF 精修篇 自定义控件
原文:WPF 精修篇 自定义控件 自定义控件 因为没有办法对界面可视化编辑 所以用来很少 现在实现的是 自定义控件的 自定义属性 和自定义方法 用VS 创建自定义控件后 会自动创建 Themes 文件 ...
- WPF 精修篇 用户控件
原文:WPF 精修篇 用户控件 增加用户控件 数据绑定还是用依赖属性 使用的事件 就委托注册一下 public delegate void ButtonClick(object b,EventArgs ...
- WPF 精修篇 DataGrid 筛选
原文:WPF 精修篇 DataGrid 筛选 DataGrid也可以分组 但是用的地方不多 就没写 筛选还是可以的 比如Datagrid数据量比较大 要做数据筛选 贴码 <DataGrid x: ...
随机推荐
- netcore2.2以及netcore3.0下的swagger使用
自从core3.0发布后,中间有很多东西跟以往用到的2.2版本相差特别多,今天主要来说一下swagger不同版本下的使用. swagger就是一个可视化接口工具,为了方便让调用者能够很好的了解接口以及 ...
- jq中
1.jquery位置信息 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...
- 老男孩LINUX--打包压缩、查看、解压
tar就是打包的意思,打包就是将多个文件或者目录放置到一起,整体的大小没有变化,tar可以调用一些压缩的软件,比如zip,在打包的同时进行压缩.先来上一个例子: tar zcvf /tmp/etc.t ...
- 201871010133-赵永军《面向对象程序设计(java)》第十四周学习总结
201871010133-赵永军<面向对象程序设计(java)>第十四周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010133-赵永军《面向对象程序设计(java)》第十二周学习总结
201871010133-赵永军<面向对象程序设计(java)>第十二周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 用eclipse开发Android,用Genymotion测试时报错adb发生错误
每当我要运行安卓程序时,控制台就会报出 The connection to adb is down, and a severe error has occured. You must restart ...
- 【Spring AOP】AOP介绍(一)
AOP(Aspect Oriented Programming) 面向切面编程,是Spring框架的一个重要组件. AOP应该算是对OOP(面向对象编程)的补充和完善.OOP引入封装.继承.多态等概念 ...
- NOIP 2016 回文日期
洛谷P2010 https://www.luogu.org/problemnew/show/P2010 JDOJ 3313 https://neooj.com:8082/oldoj/problem.p ...
- Shell编程——test命令
1.整数 如果表达式为真返回值为0,如果表达式为假,返回值为1.test命令可以对整数.字符串.以及文件进行判断. -it:小于 -le:小于或等于 -gt:大于 -ge:大于或等于 -eq:等于 - ...
- 0x01 Wechall writeup
目录 0x01 Wechall writeup Limited Access Training: Crypto - Caesar II Impossible n'est pas français Tr ...