簡體   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