我需要禁用列表框或某些控件中的鼠标单击。只禁用click事件处理程序和鼠标光标。如何禁用它? 请告诉我宝贵的建议。 如果这对您来说是简单的问题,请原谅我。
答案 0 :(得分:1)
将IsHitTestVisible
设置为False
。
答案 1 :(得分:0)
我的问题是“为什么要这样做?也许还有另一种方法可以对要实现的目标进行编程。”
但是,如果您仍然希望禁用鼠标单击事件,那么我将为列表框及其项目分配一个空的事件处理程序。
XAML:
<ListView MouseDown="emptyEventHandler" MouseDoubleClick="emptyEventHandler" >
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<EventSetter Event="MouseDown" Handler="emptyEventHandler" />
<EventSetter Event="MouseDoubleClick" Handler="emptyEventHandler" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
和代码(以实际捕获事件并防止其冒泡):
private void emptyEventHandler(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
这样,您仍然可以对 Preview 事件处理程序中的鼠标单击和双击事件做出反应。如果要完全“隐藏”这些事件,请改为处理 PreviewMouseDown 和 PreviewMouseDoubleClick 事件。