我试图创建一个自定义控件 - 一个按钮 - 根据数据上下文中属性的值,它将应用多种样式。WPF样式的绑定
什么我正在使用类似的东西在想:
<Button Style="{Binding Path=ButtonStyleProperty, Converter={StaticResource styleConverter}}" Text="{Binding Path=TextProp}" />
而在代码...实现一个的IValueConverter这确实类似下面的代码东西在ConvertTo
方法:
switch(value as ValueEnums)
{
case ValueEnums.Enum1:
FindResource("Enum1ButtonStyle") as Style;
break;
... and so on.
}
然而,我不完全确定如何拉出样式对象,即使这是可能的...
我在做什么t他的意思是时间正在处理DataContextChanged
事件,然后将处理程序附加到绑定到按钮的对象的PropertyChanged
事件上,然后在那里运行switch语句。
它不完美,但直到我可以找到更好的解决方案,它似乎是我必须使用的。
谢谢史蒂夫 - 这正是我想要做的:) – 2009-01-05 04:51:12
不用担心。与WPF中的所有内容一样,可能还有另外10路,但这种方式看起来很干净并且“设计师友好”:) – 2009-01-05 08:34:58