2011-12-29 102 views
2

我正在使用wpf c#窗口。 我有這樣定義的按鈕:WPF按鈕按下視覺狀態,在按鈕失去焦點後保持視覺狀態「正在運行」

<Button x:Name="but" Style="{DynamicResource ButtonStyle13}"/> 

和我的ButtonStyle是這樣的:

<VisualState x:Name="Pressed"> 
//bla bla (my style) goes here 

現在,當我使用這種可視狀態下,按下按鈕時視覺正在改變,但隨後恢復正常。我想按鈕有一個「按下」的條件,它將保持「按下」,直到我按另一個按鈕。

我試圖改變這樣的:

<VisualState x:Name="myPre"> 

,然後在代碼中使用:

VisualStateManager.GoToElementState(but, "myPre", true); 

至極dosent工作在所有。然後我用

VisualStateManager.GoToState(but, "myPre", true); 

這使得只要鼠標移動到按鈕我按下按鈕,但是當它losts焦點(鼠標移動),它會恢復正常。

我希望我清楚。 如何讓按鈕保持按下的視覺狀態直到我決定(在代碼中)取消該按鈕?

回答

5

如果您需要Button,在按下它之後它將保持按下狀態 - 然後使用ToggleButton

<ToggleButton IsChecked='True'/>