我試圖創建一個自定義控件 - 一個按鈕 - 根據數據上下文中屬性的值,它將應用多種樣式。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