其他分享
首页 > 其他分享> > 【WPF】按钮需要点击两次才能触发事件,原因是这个...

【WPF】按钮需要点击两次才能触发事件,原因是这个...

作者:互联网

在做WPF开发时,发现有时按钮需要点击两次才能触发按钮的Click事件

 

后面经过分析,是由于控件的聚焦问题,当鼠标点击日历控件Calendar后,再点击按钮,需要点击两次

点击第一次,Calendar失去焦点,点击第二次才能生效

 

解决方案:

为Calendar添加PreviewMouseUp事件,当鼠标在Calendar上松开时发生

<Calendar Name="calDate" PreviewMouseUp="calDate_PreviewMouseUp" HorizontalAlignment="Left" Margin="409,183,0,0" VerticalAlignment="Top" DisplayMode="Month" SelectionMode="MultipleRange"/>

鼠标清除捕获控件

private void calDate_PreviewMouseUp(object sender, MouseButtonEventArgs e)
{
    if (Mouse.Captured is CalendarItem)
    {
        Mouse.Capture(null);
    }
}

完成...

标签:...,控件,PreviewMouseUp,当鼠标,点击,按钮,WPF,Calendar
来源: https://blog.csdn.net/weixin_38211198/article/details/117851547