WPF条件资源选择

WPF条件资源选择,wpf,data-binding,Wpf,Data Binding,我想根据对象的datacontext中的属性生成的布尔语句更改控件的背景色(或任何其他视觉属性)。 让我用一个例子来解释: public class Node { public int Min ; public int Max ; } 然后我有一个wpf控件,如: <DockPanel x:Name="LayoutRoot" DataContext=<!-- an instance of node class --> > 我想知道是否有可能在xaml中

我想根据对象的datacontext中的属性生成的布尔语句更改控件的背景色(或任何其他视觉属性)。 让我用一个例子来解释:

public class Node
{
    public int Min ;
    public int Max ;
}
然后我有一个wpf控件,如:

<DockPanel x:Name="LayoutRoot" DataContext=<!-- an instance of node class --> >
我想知道是否有可能在xaml中实现这一点,或者我需要为此编写代码吗?解决办法是什么


谢谢

您需要的是使用值转换器。您将在实用程序方法中将(max==min)的值转换为一个笔刷,并将(max!=min)的值转换为另一个笔刷。然后在XAML绑定中使用该方法

请看这里:

if (min == max) 
BackColor = resources.fixedNodeBrush
else 
BackColor = resources.NodeBrush