为了演示我有这个 Xaml 的问题:
<DockPanel MouseLeftButtonDown="DockPanel_MouseLeftButtonDown" MouseLeftButtonUp="DockPanel_MouseLeftButtonUp">
<ListView>
<ListViewItem>ListViewItem</ListViewItem>
</ListView>
<TextBlock>TextBlock</TextBlock>
</DockPanel>
事件处理程序是:
private void DockPanel_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("DockPanel_MouseLeftButtonDown");
}
private void DockPanel_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
Console.WriteLine("DockPanel_MouseLeftButtonUp");
}
当您运行应用程序并单击文字块时,您会触发 MouseDown,然后触发 MouseUp。到目前为止,一切都很好。但是,当您单击单词 ListViewItem 时,只会触发 MouseUp。ScrollViewer 也有同样的问题(列表视图包含它,所以我猜这是同样的问题)。有谁知道为什么以及是否可以解决此问题。固定我的意思是让它触发而不是尝试一起使用另一个事件或另一个机制。