组合框选择更改了当我们更改组合框 WPF 的值时触发的事件

本文关键字:组合 事件 我们 选择 WPF | 更新日期: 2023-09-27 18:35:54

为什么当我们在 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";

组合框选择更改了当我们更改组合框 WPF 的值时触发的事件

当我们通过以下代码设置默认的"选择"值时,它会再次触发 选择 更改事件 为什么?

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