如何检测双击在WPF切换按钮
本文关键字:WPF 按钮 双击 何检测 检测 | 更新日期: 2023-09-27 18:01:51
在我的WPF应用程序中,我有切换按钮,我想检测当用户双击它时(在两种情况下,如果选中或未选中)。
我该怎么做呢?
Thanks in advance
您可以使用OnPreviewMouseDoubleClick
事件
<ToggleButton Height="75" Width="100" PreviewMouseDoubleClick="Control_OnPreviewMouseDoubleClick"/>
后台代码:
private void Control_OnPreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
var toggleButtton = sender as ToggleButton;
if (toggleButtton != null)
{
if (toggleButtton.IsChecked.HasValue)
{
if (toggleButtton.IsChecked.Value)
{
// Checked
}
else
{
// Unchecked
// this will re-check the button if double-click unchecks it
//
toggleButtton.IsChecked = true;
toggleButtton.Focus();
}
}
}
}
Use PreviewMouseDoubleClick
event (msdn):
<ToggleButton x:Name="tButton" Height="30" Content="MyButton"
PreviewMouseDoubleClick="tButton_PreviewMouseDoubleClick"
/>
后台代码:
private void tButton_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
tButton.IsChecked = !tButton.IsChecked.Value;
e.Handled = true;
//...
}
这个事件很容易使用togglebuttons在Xaml中,您可以编写以下代码来获取eventandler:
<ToggleButton Name="button1" MouseDoubleClick="button1_DoubleClick" />
在c#中,您可以编写以下代码来获取eventandler:
button1.MouseDoubleClick += new MouseButtonEventHandler(button1_DoubleClick);
在这两种情况下你都需要:
void button1_DoubleClick(object sender, MouseButtonEventArgs e)
{
}