WPF资源管理全解析
1. 资源的基本使用
在WPF中,按钮等控件会优先使用它首先找到的资源。例如,当按钮开始搜索资源时,会先从自身的 Resources 集合开始查找。假设有两个按钮,第二个按钮可能会使用 Resources 集合中找到的 sadface.jpg 图形,而第一个按钮则会从包含它的窗口获取画刷,使用 happyface.jpg 图像。
2. 静态资源与动态资源
2.1 静态资源的特性
很多人可能认为使用静态资源后,资源就不会受后续更改的影响。但实际并非如此。例如,在应用资源并显示窗口后执行以下代码:
ImageBrush brush = (ImageBrush)this.Resources["TileBrush"];
brush.Viewport = new Rect(0, 0, 5, 5);
这段代码从 Window.Resources 集合中获取画刷并进行操作,实际上是改变了每个图块的大小,使笑脸缩小并更紧密地排列图像图案。尽管这是静态资源,但这个更改会传播到使用该画刷的两个按钮上,按钮会根据新的 Viewport 属性设置进行更新,无论它们是通过静态资源还是动态资源使用该画刷。这是因为 Brush 类继承自 Freezable 类, Freezable
超级会员免费看
订阅专栏 解锁全文
4万+

被折叠的 条评论
为什么被折叠?



