开发者

Silverlight ComboBox selection changed or reselected event

开发者 https://www.devze.com 2023-03-10 05:41 出处:网络
On a Silverlight ComboBox, the SelectionChanged event does not fire when you open the dropdown list, then click on the currently selected item.What\'s the best way to have an event/method trigger when

On a Silverlight ComboBox, the SelectionChanged event does not fire when you open the dropdown list, then click on the currently selected item. What's the best way to have an event/method trigger when this happens? (in addition to anything that would normally trigger SelectionChanged, i.e. they either click an unselected or selected item; but not when they just click off of the dropdown)

I currently have DataTe开发者_如何转开发mplates set up for the items in the list. I tried to attach to the MouseLeftButtonUp events of the elements in that, but there's a margin around the items, so it doesn't always register a click that closes the combobox and selects the item.


Have you considered the "DropDownClosed" event?


I know it's been a long time since the last comment, but I'll post my solution in case someone out there is experiencing the same problem. The only way I managed to "re-select" the currently selected item was to modify the ComboBoxItemTemplate like this:

<Style TargetType="ComboBoxItem">
    ....
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="ComboBoxItem">
                <Grid ... MouseLeftButtonDown="Grid_MouseLeftButtonDown">
                ...
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

Now, in the Grid_MouseLeftButtonDown event I deselect the current item; the mouse click will then be handled as usual, selecting the element which is under the mouse cursor.

0

精彩评论

暂无评论...
验证码 换一张
取 消