在我的WPF应用程序中,我有切换按钮,我想检测用户双击它的时间(在两种情况下,如果选中或取消选中)。
我该怎么做?
提前致谢
答案 0 :(得分:2)
您可以使用OnPreviewMouseDoubleClick
事件
XAML:
<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();
}
}
}
}
答案 1 :(得分:1)
使用PreviewMouseDoubleClick
事件(msdn):
XAML:
<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;
//...
}
答案 2 :(得分:1)
使用togglebuttons这个事件非常简单 Xaml你写下以获得一个EventHandler:
<ToggleButton Name="button1" MouseDoubleClick="button1_DoubleClick" />
在c#中,您编写以下内容以获取EventHandler:
button1.MouseDoubleClick += new MouseButtonEventHandler(button1_DoubleClick);
在这两种情况下你都需要:
void button1_DoubleClick(object sender, MouseButtonEventArgs e)
{
}