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