RadCombobox не показывает правильное значение свойства - PullRequest
0 голосов
/ 18 сентября 2018

Я не могу «очистить» текущий выбор из RadCombobox, когда это необходимо.Этот RadCombobox восстановлен новыми данными в зависимости от значения другого Radcombobox.После повторной привязки предыдущий выбор должен быть очищен.Но это все еще показывает.Если предыдущий выбор был «OAK», то в выпадающем списке все еще отображается OAK в качестве выбора, когда он должен быть пустым.Я нахожу радкомбоксы очень сложными в настройке, поэтому я уверен, что это что-то глупое с моей стороны.

Свойство Text поля со списком привязано к woodSpecies, который настроен ниже:

                    <telerik:RadComboBox x:Name="cboWoodSpecies" 
                                     FontSize="16" Background="#F6F8FA" BorderBrush="#D7D8DD" 
                                     ItemsSource="{Binding}" 
                                     SelectedValue="theWoodSpecies"
                                     Text="{Binding woodSpecies}" 
                                     telerik:TextSearch.TextPath="theWoodSpecies"
                                     IsEditable="True" 
                                     Style="{DynamicResource RadComboBoxStyle3}" >
                    <telerik:RadComboBox.ItemTemplate>
                        <DataTemplate>
                            <Grid>
                                <Grid.ColumnDefinitions>
                                    <ColumnDefinition/>
                                    <ColumnDefinition/>
                                    <ColumnDefinition/>
                                </Grid.ColumnDefinitions>
                                <TextBlock Grid.Column="0" Text="{Binding theWoodSpecies}"/>
                                <TextBlock Grid.Column="1" Text="{Binding WoodSpeciesUpchargeDisplay}"/>
                                <TextBlock Grid.Column="2" Text="{Binding WoodSpeciesUpcharge}" Visibility="Hidden"/>
                            </Grid>
                        </DataTemplate>
                    </telerik:RadComboBox.ItemTemplate>
                </telerik:RadComboBox>



Private _woodSpecies As String
Public Property woodSpecies As String
    Get
        Return _woodSpecies
    End Get
    Set(value As String)
        _woodSpecies = value
        NotifyPropertyChanged("woodSpecies")
    End Set
End Property

Когда пришло время очистить предыдущий выбор, запускается этот код:

        thisOrder = New Order       'sets woodSpecies to empty string.  Verified by debug.

    cboWoodSpecies.SelectedIndex = -1   ' A debug break here shows that thisOrder.woodSpecies is empty string

Единственный способ, которым я могу очистить radcombobox, - использовать этот код ниже.Но я думал, что в этом весь смысл INotifyPropertyChanged.

        cboWoodSpecies.Text = String.Empty

Как это исправить?Спасибо.

1 Ответ

0 голосов
/ 18 сентября 2018

Я забыл добавить Mode = TwoWay к Text = "{Binding woodSpecies}"

...