繁体   English   中英

如何禁用WPF列表框中的鼠标单击?

[英]How to disable mouse click in wpf listbox?

我需要禁用列表框或某些控件中的鼠标单击。 只禁用click事件处理程序和鼠标光标。如何禁用它? 请告诉我宝贵的建议。 如果对您来说这是简单的问题,请原谅我。

IsHitTestVisible设置为False

我的问题是“为什么要这样做?也许还有另一种方法可以对要实现的目标进行编程。”

但是,如果您仍然希望禁用鼠标单击事件,则可以为列表框及其项分配一个空的事件处理程序。

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;
}

这样,您仍然可以对预览事件处理程序中的鼠标单击和双击事件做出反应。 如果要完全“隐藏”这些事件,请改为处理PreviewMouseDownPreviewMouseDoubleClick事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM