WPF:如何将单击事件分配给表单

Pri*_*ief 6 wpf canvas mouseclick-event

如何在此分配Click事件?我想在鼠标点击此窗口时执行某些操作.它在Window和Canvas中都没有Click属性

<Window Loaded="Window_Loaded"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="InClassApp.UI.TextNotify"
  x:Name="Window"
  Title="TextNotify"
  Width="400" Height="100"
  WindowStyle="None"
  AllowsTransparency="True"
  Background="Transparent"
  ShowInTaskbar="False">
  <Border CornerRadius="5">
    <Border.Background>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
            <GradientStop Color="#FFBAFDFF" Offset="0"/>
            <GradientStop Color="White" Offset="1"/>
        </LinearGradientBrush>
    </Border.Background>
       <Canvas x:Name="LayoutRoot" >
        .......
    </Canvas>
</Border>
Run Code Online (Sandbox Code Playgroud)

Fré*_*idi 12

您可以改为处理MouseLeftButtonUp事件.


Zai*_*ikh 6

你可能想要添加MouseLeftButtonDown="Window_MouseLeftButtonDown"你的<Window>元素.

并在代码隐藏文件中添加以下内容.

private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    // do some stuff here.
}
Run Code Online (Sandbox Code Playgroud)

  • 我建议处理`MouseLeftButtonUp`事件而不是'MouseLeftButtonDown`,因为这就是实现`Click`事件的方式,即如果在*释放鼠标按钮之前事件被引发,用户可能会感到困惑. (9认同)