在Silverlight组合框上,当您打开下拉列表时,SelectionChanged事件不会触发,然后单击当前选定的项目。发生这种情况时,触发事件/方法的最佳方式是什么? (除了通常会触发SelectionChanged的任何事情,即他们或者单击未选定的或选定的项目;但不是当他们刚刚点击下拉菜单时)
我目前已经为列表中的项目设置了DataTemplates。我尝试附加到那些元素的MouseLeftButtonUp事件中,但是项目周围有空白,所以它不总是注册一个关闭组合框并单击项目的点击。Silverlight组合框选择已更改或重新选择事件
-1
A
回答
1
你有没有考虑过“DropDownClosed”事件?
0
我知道自从上次评论以来已经很长时间了,但是我会发布我的解决方案,以防有人遇到同样的问题。 只有这样,我成功地“重新选择”当前选择的项目是修改这样的ComboBoxItemTemplate:
<Style TargetType="ComboBoxItem">
....
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ComboBoxItem">
<Grid ... MouseLeftButtonDown="Grid_MouseLeftButtonDown">
...
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
现在,在Grid_MouseLeftButtonDown事件我取消对当前项目;然后像往常一样处理鼠标点击,选择鼠标光标下的元素。
相关问题
- 1. 已选择项目更改组合框
- 2. WPF组合框选择更改TabItem选择更改
- 3. DataGridView ComboBox列选择已更改事件
- 4. 选择的Flex DropDown事件已更改
- 5. 取消选择Silverlight TreeViewItem重新选择
- 6. JS jQuery UI的组合框中选择更改事件
- 7. 使用选定值(C#WPF)时选择更改之前组合框选择更改事件触发
- 8. Silverlight组合框强制重新选择SelectedItem
- 9. 从组合框中选择并重新选择
- 10. 选择组合框时的事件
- 11. 组合框中的Silverlight默认选择
- 12. 选择重新加载并更改其他选择框的值
- 13. 绑定ischecked选择wpf列表框中的复选框已更改组合框
- 14. 更改事件触发的选择框
- 15. setTimeout在选择框更改事件
- 16. jquery可见选择框更改事件
- 17. Silverlight DataGrid显示或隐藏选择组合框的控件
- 18. 选择更改事件
- 19. 选择在更改事件
- 20. 更新选择框后的另一种选择框更改
- 21. 更改选择框
- 22. WPF组合框 - 在绑定字段的setter改变选择 - 组合框选择不更新
- 23. 更新选择框选项
- 24. 基于事先选择的组合框选择
- 25. Combobox选择更改事件触发器,甚至没有改变组合框中的选择
- 26. 更新选择案件与新的组合框项目
- 27. Backbone.js - 更新选择更改集合
- 28. 当组合框中的选择更改时,DataGridView中的提交已更改
- 29. 枢轴选择已更改
- 30. 为什么文本更改组合框中选择更改
是的,我已经考虑过了。问题在于,当您打开下拉菜单并点击下拉菜单之外时,它也会触发。下拉菜单关闭,所以当然会触发,但用户实际上没有点击目前选择的项目,他们没有选择,所以我不想像他们那样行事。 – 2011-06-02 20:30:42
嗯,它似乎是一个混乱的东西,如果该项目目前选择然后我wouldnt再次选择它..所以这正是什么Id做的。你可以有一个布尔,selection_made = false,打开下拉列表,将其设置为yes,如果鼠标关闭,如果在dropdownclosed,它已被设置,然后使用当前选择的项目..但它很凌乱 – BugFinder 2011-06-02 20:37:14
嗯,是的有点凌乱,但我会明天尝试,如果没有更好的建议出现。 – 2011-06-02 22:29:34