WPF MouseDown事件在控件中不处处触发。
WPF MouseDown事件在控件中不处处触发。
我目前正在与另一个WPF麻烦——鼠标事件进行斗争。
我基本上有一个非常简单的控件(一个包含Grid的边框,其中有几个TextBlock)。我试图实现一个简单的行为:双击应该将控件切换到编辑模式(实际上隐藏了与同一数据绑定的TextBoxes的TextBlocks)。
没什么花哨的,对吧?然而,我仍然在努力。与我的UserControl关联的MouseDoubleClick事件只在我点击控件时触发(比如,点击在TextBlock上)。如果我点击TextBlocks之间的空白空间,什么都不会触发。甚至MouseDown事件也不会触发。
我应该如何使其能够捕捉到每次鼠标点击?我认为将MouseDown事件与Border关联应该能够捕捉到边框上的每次点击,但是...它最终无法捕捉到边框空白部分的点击。
这是我为您准备的一些示例代码,请运行它:
XAML:
MouseDown="Border_MouseDown" MouseUp="Border_mouseUp">
Foreground="White" Background="Red" Text="CLICKED!" /> Code behind: private void Border_MouseDown(object sender, MouseButtonEventArgs e) { thetext.Visibility = Visibility.Visible; } private void Border_mouseUp(object sender, MouseButtonEventArgs e) { thetext.Visibility = Visibility.Collapsed; } 现在尝试点击一个"BLUFF"文本:将出现一个"CLICKED"文本。尝试在其他地方点击,即在TextBlocks之间的空白空间:什么都不会发生。 谢谢!