-1

在 Silverlight ComboBox 上,当您打开下拉列表,然后单击当前选定的项目时,不会触发 SelectionChanged 事件。发生这种情况时触发事件/方法的最佳方法是什么?(除了通常会触发 SelectionChanged 的​​任何内容,即他们要么单击未选中或选中的项目;但不是当他们只是单击下拉菜单时)
我目前为列表中的项目设置了 DataTemplates。我试图附加到其中元素的 MouseLeftButtonUp 事件,但项目周围有一个边距,因此它并不总是注册关闭组合框并选择项目的单击。

4

2 回答 2

1

你考虑过“DropDownClosed”事件吗?

于 2011-06-02T20:28:55.153 回答
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 事件中,我取消选择当前项目;然后鼠标单击将照常处理,选择鼠标光标下的元素。

于 2012-10-22T14:46:50.043 回答