0
我對WPF相當陌生,並且創建了一個樣式來改變按鈕控件的外觀。該樣式包含基於數據上下文的布爾屬性,例如數據觸發更改按鈕背景(除其他事項外): -在應用程序級樣式資源中指定綁定?
<Style x:Key="IndicatorButton" TargetType="Button">
<DataTrigger Binding="{Binding Path=ValveIsOpen}" Value="True">
<Setter Property="Background" Value="#00FF00"/>
..etc..
目前的風格只由一個按鈕,所以數據觸發器綁定使用名爲「ValveIsOpen」的屬性進行硬編碼。 我現在想要在整個應用中重新使用這種風格,並將不同的按鈕綁定到不同的屬性。我將如何更改樣式應用於每個按鈕上的數據觸發器綁定?
非常感謝
有可能是很多在窗口上這些按鈕。用用戶控件而不是樣式完成我想要的是否可行?如果是這樣,我將如何通過用戶控件上的屬性公開/設置數據觸發器的綁定表達式?還是我吠叫錯了樹? – 2012-04-10 15:34:23
您可以使用兩個依賴屬性創建一個從Button派生的自定義控件,比如'bool IsActive'和'SolidColorBrush IsActiveColor'。然後綁定 等。當IsActive更改時,您將更新依賴項屬性更改處理程序中的BackgroundColor。 –
Phil
2012-04-10 15:58:56
或者您可以在您的視圖模型上公開一個ValveIsOpenColor,並將Background綁定到該模型上。 – Phil 2012-04-10 16:07:01