繁体   English   中英

更改组合框WPF的值时会触发ComboBox SelectionChanged事件

[英]ComboBox SelectionChanged event firing when we changing value of combobox WPF

为什么在WPF中更改组合框的值时会触发ComboBox SelectionChanged事件?

 <telerik:RadComboBox  Name="onClockComboBox"  Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2" Width="200" Height="30" StaysOpenOnEdit="True" IsSynchronizedWithCurrentItem="True" OpenDropDownOnFocus="True" 
                                ItemsSource="{Binding TravelOtherModel.OnClockOptionListCollection,Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" HorizontalAlignment="Center"  
                                DisplayMemberPath="OptionName" SelectedValuePath="RowNo" IsFilteringEnabled="True" IsEditable="True" Margin="80,3,0,0">
                                <ie:Interaction.Triggers>
                                        <ie:EventTrigger EventName="SelectionChanged">
                                        <ie:InvokeCommandAction Command="{Binding OnClockComboBoxSelectedItemChangedCommand}" CommandParameter="{Binding ElementName=onClockComboBox}" >
                                            </ie:InvokeCommandAction>
                                        </ie:EventTrigger>
                                    </ie:Interaction.Triggers>
                                </telerik:RadComboBox>

SelectionChanged事件代码为-

    public void OnClockComboBoxSelectedItemChangedCommand_Event(object obj)
    {
        try
        {
            RadComboBox onClockComboBox = obj as  RadComboBox;
            var item = onClockComboBox.SelectedItem as OnClockOption; 
            string s= onClockComboBox.SelectedValue.ToString();
            onClockComboBox.SelectedValue = "0";
        }
        catch (Exception ex)
        {

        }
    }

当我们通过以下代码设置默认选择值时,为什么再次触发SelectionChanged事件呢?

onClockComboBox.SelectedValue = "0";

当我们通过下面的代码设置默认的“选择”值时,它又触发选择更改事件,为什么?

因为它应该这样,否则如果组合框被重置,您将如何得到通知。 假设您选择的值一定会加载其他控件。 这将需要知道选择是否已更改,即使对于默认值也是如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM