【发布时间】:2016-02-15 12:14:04
【问题描述】:
我正在尝试从另一个控件的下一段代码中更改属性 Brush,但不知道如何访问该属性。
此绘图笔刷被定义为 Application.Resource en App.XAML
<DrawingBrush x:Key="Disp_Origin" Stretch="Uniform">
<DrawingBrush.Drawing>
<DrawingGroup>
<DrawingGroup.Children>
<GeometryDrawing Geometry="F1 M 720.099,497.862C 778.822,493.976 837.662,492.02 896.514,492.02">
<GeometryDrawing.Pen>
<Pen Thickness="1.33333" MiterLimit="2.75" Brush="#FFA5AEB7"/>
</GeometryDrawing.Pen>
</GeometryDrawing>...
当另一个控件获得焦点或悬停时,我需要访问笔刷属性。
我不知道这是否可行
【问题讨论】:
-
是要修改资源
Disp_Origin(不能修改),还是只改变控件的颜色(设置了这个资源)? -
只修改标签Pen的属性Brush,在Disp_Origin里面
-
您可以添加另一个资源
Disp_Origin_with_another_brush,并在控件获得焦点或悬停时更改整个DrawingBrush资源(例如使用Trigger)。我认为这是最简单的解决方案。 -
诀窍在于 DrawingBrush 中有各种 GeometryDrawing 标签,我想根据交互的控件更改一个或另一个。这是示例图片link 当鼠标移过不同的单选按钮时,链接的 GeometryDrawing 必须改变颜色。
-
有 15 种变体,重复 15 次相同的资源,只是修改一种颜色,我认为这不是明智的做法。
标签: wpf visual-studio-2015 blend