WPF有条件的资源选择
问题描述:
我想根据从属性的对象的datacontext作了布尔声明在我的控制来改变背景色(或任何其他视觉属性)。 让我用一个例子解释:WPF有条件的资源选择
public class Node
{
public int Min ;
public int Max ;
}
,然后我有一个WPF控件,如:
<DockPanel x:Name="LayoutRoot" DataContext=<!-- an instance of node class --> >
现在我想从资源选择背景色刷depeneds上,如果(最小==最大)或不是这样的:
if (min == max)
BackColor = resources.fixedNodeBrush
else
BackColor = resources.NodeBrush
我想知道是否有可能在xaml中做到这一点,或者我需要为它编写代码吗?和什么解决方案?
谢谢
答
你想要的是使用一个值转换器。你会(最大==分钟)的值转换为一个刷(最大值!=分钟)到另外一个实用的方法。然后在XAML绑定中使用该方法。
看一看: http://blogs.msdn.com/bencon/archive/2006/05/10/594886.aspx