【问题标题】:RadCombobox does not show correct property valueRadCombobox 不显示正确的属性值
【发布时间】:2019-02-22 17:56:47
【问题描述】:

我无法在需要时从 RadCombobox 中“清除”当前选择。根据另一个 radcombobox 的值,此 RadCombobox 会使用新数据反弹。重新绑定后,应清除先前的选择。但它仍然显示。如果先前的选择是“OAK”,那么当组合框应该为空白时,组合框仍将 OAK 显示为选择。我发现 radcombobox 的设置非常棘手,所以我确信这对我来说很愚蠢。

组合框的 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

如何解决这个问题?谢谢。

【问题讨论】:

    标签: vb.net telerik radcombobox


    【解决方案1】:

    我忘记在 Text="{Binding woodSpecies}" 中添加 Mode=TwoWay

    【讨论】:

      猜你喜欢
      • 2018-07-12
      • 1970-01-01
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 2019-06-18
      • 2020-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多