[英]How to detect DoubleClick in WPF ToggleButton
In my WPF application I have Toggle Button, I want to detect when user double click on it (in both cases if it checked or unchecked). 在我的WPF应用程序中,我具有“切换按钮”,我想检测用户何时双击该按钮(在两种情况下均选中或未选中)。
How can I do that? 我怎样才能做到这一点?
Thanks in advance 提前致谢
You can use the OnPreviewMouseDoubleClick
event 您可以使用
OnPreviewMouseDoubleClick
事件
xaml: XAML:
<ToggleButton Height="75" Width="100" PreviewMouseDoubleClick="Control_OnPreviewMouseDoubleClick"/>
code-behind: 后台代码:
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 ): 使用
PreviewMouseDoubleClick
事件( msdn ):
XAML: XAML:
<ToggleButton x:Name="tButton" Height="30" Content="MyButton"
PreviewMouseDoubleClick="tButton_PreviewMouseDoubleClick"
/>
Code-behind: 代码隐藏:
private void tButton_PreviewMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
tButton.IsChecked = !tButton.IsChecked.Value;
e.Handled = true;
//...
}
This event is pretty easy with togglebuttons Xaml you write the following to get an EventHandler: 使用切换按钮Xaml可以很轻松地实现此事件,您可以编写以下代码来获取EventHandler:
<ToggleButton Name="button1" MouseDoubleClick="button1_DoubleClick" />
In c# you write the following to get an EventHandler: 在c#中,您编写了以下代码以获取EventHandler:
button1.MouseDoubleClick += new MouseButtonEventHandler(button1_DoubleClick);
And in both cases you need: 在这两种情况下,您都需要:
void button1_DoubleClick(object sender, MouseButtonEventArgs e)
{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.