【发布时间】:2017-08-04 00:05:10
【问题描述】:
我有一个 WPF 列表框,其中包含许多项目,因此会显示一个滚动条。我想为点击项目而不是滚动条的用户添加偶数处理程序。我该怎么做?
【问题讨论】:
-
不是完全重复但相似:stackoverflow.com/questions/10733581/…我通过拖放遇到了这个;找不到我用atm的答案
我有一个 WPF 列表框,其中包含许多项目,因此会显示一个滚动条。我想为点击项目而不是滚动条的用户添加偶数处理程序。我该怎么做?
【问题讨论】:
您可以使用ItemContainerStyle 为使用EventSetter 的项目上的单击事件设置处理程序
<ListBox>
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<EventSetter Event="Click" Handler="myHandler"/>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
【讨论】:
ItemTemplate 可以添加到ListBox。您在其中添加的任何 WPF 控件都可以添加各种事件处理程序,包括鼠标单击和拖动
<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Label MouseLeftButtonDown="<new event handler>" Content="My Clickable Item"/>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
【讨论】: