WPF条件资源选择

时间:2009-11-04 13:57:42

标签: wpf data-binding

我想基于从对象的datacontext中的属性制作的布尔语句来更改我的控件上的Color(或任何其他可视属性)。 让我用一个例子解释一下:

public class Node
{
    public int Min ;
    public int Max ;
}

然后我有一个wpf控件,如:

<DockPanel x:Name="LayoutRoot" DataContext=<!-- an instance of node class --> >

现在我想从依赖于if(min == max)的资源中选择backcolor笔刷。或者像这样:

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

我想知道是否可以在xaml中执行此操作,还是需要为其编写代码?什么是解决方案?

由于

1 个答案:

答案 0 :(得分:1)

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

看看这里: http://blogs.msdn.com/bencon/archive/2006/05/10/594886.aspx