双击WPF窗口边框上的事件

Ter*_*dor 16 .net c# wpf

WPF窗口边框上的双击事件是否会触发任何事件?

我怎么能抓到它?

谢谢!

RQD*_*QDQ 41

这是一种方法..只需将Window.WindowStyle设置为"None"并创建下窗口边框:

<Grid>
    <Border 
        BorderBrush="Silver"  
        BorderThickness="10" 
        Name="border1" 
        MouseLeftButtonDown="border1_MouseLeftButtonDown" />
</Grid>
Run Code Online (Sandbox Code Playgroud)

代码背后:

private void border1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    if (e.ClickCount == 2)
       MessageBox.Show("Double Click");
}
Run Code Online (Sandbox Code Playgroud)


Yod*_*oda 11

很抱歉迟到了,但我想建议你最好的第一个答案(由Jaster)为什么WPF边境控制没有moused双击事件?.

它更清洁,甚至不使用一行代码,因此它完全符合MVVM标准,应该是你的方式.

<Window x:Class="Yoda.Frontend.MainView" x:Name="MainViewWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Border>
    <Border.InputBindings>
      <MouseBinding MouseAction="LeftDoubleClick"
                    Command="{Binding YourBindableCommand}"
                    CommandParameter="{Binding}" />
    </Border.InputBindings>
  </Border>
</Window>
Run Code Online (Sandbox Code Playgroud)

注意:当然,您必须YourBindableCommand使用ViewModel提供的相应命令进行替换.如果您需要帮助,请告诉我.

  • 对于那些拒绝改进我的改进答案的人:请提供关于(仍然)没有增强的内容的反馈或删除-1.其他一切都没用,因为它对任何人都无济于事. (3认同)