按下WPF按钮视觉状态,按钮失去焦点后保持视觉状态"运行"

Pro*_*mer 3 wpf button

我正在使用wpf c#Window.我有一个像这样定义的按钮:

<Button x:Name="but" Style="{DynamicResource ButtonStyle13}" / >
Run Code Online (Sandbox Code Playgroud)

我的ButtonStyle是这样的:

<VisualState x:Name="Pressed">
 //bla bla (my style) goes here
Run Code Online (Sandbox Code Playgroud)

现在,当我使用这种视觉状态时,按下按钮时视觉正在改变但后来恢复正常.我希望按钮处于"按下"状态,它将保持"按下"直到我按下另一个按钮.

我尝试像这样改变它:

<VisualState x:Name="myPre">
Run Code Online (Sandbox Code Playgroud)

然后在代码中使用:

 VisualStateManager.GoToElementState(but, "myPre", true);
Run Code Online (Sandbox Code Playgroud)

完全没有剂量.然后我用了

 VisualStateManager.GoToState(but, "myPre", true);
Run Code Online (Sandbox Code Playgroud)

只要鼠标悬停在按钮上,这就会按下我的按钮,但是当它失去焦点(鼠标移动)时,它会恢复正常.

我希望我已经清楚了.如何使按钮保持在按下的视觉状态,直到我决定(在代码内)取消该按钮?

Ana*_*uza 6

如果您需要Button按下它后将保持按下状态 - 然后使用ToggleButton.

<ToggleButton IsChecked='True'/>