我想基于从对象的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中执行此操作,还是需要为其编写代码?什么是解决方案?
由于
答案 0 :(得分:1)
您想要的是使用值转换器。您将在实用程序方法中将(max == min)的值转换为一个画笔并将(max!= min)转换为另一个画笔。然后在XAML绑定中使用该方法。
看看这里: http://blogs.msdn.com/bencon/archive/2006/05/10/594886.aspx