2012-03-11 51 views
0

我一直試圖幾個屬性,但我似乎無法得到我想要的結果。目前,這是在我的資源字典:WPF Button什麼是對我的正確觸發器?

<Trigger Property="IsMouseOver" Value="True"> 
    <Setter TargetName="marker" Property="Fill" Value="Black" /> 
</Trigger> 
<Trigger Property="IsFocused" Value="True"> 
    <Setter TargetName="marker" Property="Fill" Value="Black" /> 
</Trigger> 

現在,每當我點擊我的按鈕中的一個(有4),標記對象變成黑色。我將鼠標移動到其他地方,它仍然是黑色 - 非常好。但是,現在,如果我在應用程序上單擊另一個控件,該按鈕會失去焦點(自然),因此該標記不再是黑色!

這可怎麼預防?當我點擊按鈕時,我希望標記保持黑色,一旦按鈕失去焦點,標記應該保持黑色,直到我點擊下一個按鈕。

回答

0

像你正在尋找的一種行爲你會從ToggleButton,其中按鈕被「選中」,並通過連續點擊「取消選中」讓它聽起來更。

嘗試換掉按鈕,切換按鈕,添加一個觸發的IsChecked屬性,而不是你現在的屬性。

+0

雖然已經重新閱讀的問題,它不是完全清楚你做什麼樣的行爲是什麼。 ToggleButton可能不是答案。它幾乎聽起來像你想要一個RadioButton組。 – 2012-03-11 09:58:44

+0

我會嘗試使用ToggleButton。 Checked和Unchecked行爲就是我想要的。 – 2012-03-11 10:01:45

+0

我使用觸發器「IsChecked」嘗試了ToggleButton。如果屬實,則標記應變黑,否則應返回其先前的顏色(紅色)。然而,我不確定如何處理按鈕的檢查..這可能不是我所需要的。我認爲一個「被選中」的觸發器會是最好的 - 但是哪一種控制會是? – 2012-03-11 10:07:45

相關問題