【发布时间】:2018-03-15 18:45:51
【问题描述】:
我有一个占界面四分之一的网格。每当有人使用此网格(或界面的四分之一)单击任何位置时,我都想捕获一个事件。我创建了一个堆栈面板,并设置了 PreviewMouseDown 按钮,但是当我单击网格空间内的任何位置时,它没有捕获事件。我在这里做错了什么?
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.RowSpan="3"
Name="sp_activationSpace"
PreviewMouseDown="testing"></StackPanel>
......
【问题讨论】:
-
尝试将 PreviewMouseDown="testing" 移动到网格而不是像
的堆栈面板。 -
当我这样做时,我可以单击网格内的按钮或标签,然后捕获事件。但是如果我单击空白区域,它将不会捕获。我希望它捕捉我在网格中所做的任何点击。
-
尝试在您的事件处理程序中检查 OriginalSource 的类型。