c# - WPF 行为 MouseDown 不触发
问题描述
我正在学习 Microsoft.Expression.Interactions.WPF。我正在尝试将行为附加到网格的 MouseDown 事件。该OnAttached
方法被调用,但我的行为从未收到该MouseDown
事件。
XAML
<Window x:Class="SequenceDiagramViewer.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SequenceDiagramViewer"
xmlns:ineractivity="http://schemas.microsoft.com/expression/2010/interactivity"
mc:Ignorable="d"
Title="Sequence Diagram Viewer" Height="450" Width="800">
<Window.DataContext>
<local:MainViewModel />
</Window.DataContext>
<Grid>
<ineractivity:Interaction.Behaviors>
<local:MouseClick />
</ineractivity:Interaction.Behaviors>
</Grid>
</Window>
C#
using System;
using System.Windows;
using System.Windows.Input;
using System.Windows.Interactivity;
using System.Windows.Media;
namespace SequenceDiagramViewer
{
public class MouseClick : Behavior<FrameworkElement>
{
protected override void OnAttached()
{
Console.WriteLine("OnAttached called");
AssociatedObject.MouseDown += AssociatedObject_MouseDown;
}
private void AssociatedObject_MouseDown(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("MouseDown called");
}
protected override void OnDetaching()
{
Console.WriteLine("OnDetaching called");
AssociatedObject.MouseDown -= AssociatedObject_MouseDown;
}
}
}
在我的控制台输出中,我只得到OnAttached called
. 此外,当我在 中放置断点时AssociatedObject_MouseDown
,它永远不会被击中,但OnAttached
会。我如何让事件发生在我的行为中?
解决方案
我的网格背景是透明的。一旦我将网格 XAML 更改为:
<Grid Background="White">
<interactions:Interaction.Behaviors>
<local:MouseClick />
</interactions:Interaction.Behaviors>
</Grid>
然后我开始获取鼠标按下事件。
推荐阅读
- python-3.x - 如何在 conda 环境中正确启动 ipython?
- python - 如何在django中设置excel文件的路径
- php - 在 laravel 中使用自定义防护进行 api 身份验证时出现 FatalThrowableError
- php - smtp 不适用于 G 套装帐户
- database - Oracle 中的对象版本号
- mysql - MySQL1054 - “字段列表”中的未知列
- javascript - 如何使用 Javascript 过滤掉数组中的特定单词
- python-3.x - Rmagic错误:R没有属性png
- python - 如何使用 selenium 在 chrome 中下载 .msi 文件
- amazon-web-services - 在“或”条件下过滤 AWS SNS 消息