如果我在列表框的一个项目上按下鼠标,然后在另一个项目上移动鼠标而不释放鼠标按钮,则所选内容将自动更改为鼠标下的元素。是否有可能禁用此行为,以便仅当鼠标直接按在项目上时才更改选择(我需要此启动多个选定项目的拖放,默认行为有一个丑陋的副作用)?或者,是否有一个很好的拖放示例,可以解决在使用ListBox实现多个项目的拖放时出现的所有障碍。
efzxgjgh1#
这是列表框的默认行为,无法更改。有两个技巧你应该尝试:1.订阅预览鼠标上移并将句柄标记为true。2.继承项控件并实现自己的选择器。
tpxzln5u2#
1.将ListBoxItem中的ControlTemplate设置为ToggleButton1.将ListBoxItem.IsSelected绑定到ToggleButton.IsChecked
ListBoxItem
ControlTemplate
ToggleButton
ListBoxItem.IsSelected
ToggleButton.IsChecked
2条答案
按热度按时间efzxgjgh1#
这是列表框的默认行为,无法更改。
有两个技巧你应该尝试:1.订阅预览鼠标上移并将句柄标记为true。2.继承项控件并实现自己的选择器。
tpxzln5u2#
1.将
ListBoxItem
中的ControlTemplate
设置为ToggleButton
1.将
ListBoxItem.IsSelected
绑定到ToggleButton.IsChecked