2011-12-29 2 views
2

Im работает с wpf C# Window. У меня есть кнопка, определенный как это:Кнопка 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); 

Wich работу доцент на всех. Затем я использовал

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

Это делает мою кнопку нажатой до тех пор, пока курсор находится над кнопкой, но когда проигрыши фокуса (перемещение мыши) она возвращается в нормальное русло.

Надеюсь, я был чист. Как я могу заставить кнопку оставаться в визуальном состоянии нажатой до тех пор, пока я не решу (в рамках кода) отменить это?

ответ

5

Если вам нужно Button, которое останется нажатым после нажатия на него - затем используйте ToggleButton.

<ToggleButton IsChecked='True'/>