绑定到radcombobox的属性在选择项目后未更新

时间:2016-10-28 15:34:15

标签: wpf vb.net telerik

从组合框中选择项目后,附加的属性不会按预期更新。这是一个菜鸟错误,但我想知道我做错了什么。

XAML:

<telerik:RadComboBox x:Name="cboFinish" ItemsSource="{Binding}" Text="{Binding finish}" TextSearch.TextPath="theFinish" IsEditable="True" >

属性:

    Private _finish As String
Public Property finish As String
    Get
        Return _finish
    End Get
    Set(value As String)
        _finish = value
        NotifyPropertyChanged("finish")
    End Set
End Property

在组合的下拉关闭事件中,我必须为属性分配cboFinish.Text的值以将属性更新为新选择。这段代码不应该被完成,是吗?                 thisOrderFinish.finish = cboFinish.Text

我认为这是INotifyPropertyChanged的工作。

Comboboxes似乎是我注意到这种行为的唯一控件。文本框属性按预期更新。

感谢您的帮助。

编辑: 组合框结合:

        Dim dt As New DataTable
        da.Fill(dt)
        cboFinish.ItemsSource = dt.DefaultView

        cboFinish.IsTextSearchEnabled = True
        cboFinish.StaysOpenOnEdit = True

修改XAML:                             

1 个答案:

答案 0 :(得分:0)

Text的{​​{1}}属性不是检索所选值的最佳选择。

根据集合中的项目,您应该使用:

  • ComboBox:当集合中的项目是字符串
  • SelectedItem:当项目的类型为'SomeClass'时。 ComboBox为每个Item显示相同的属性。此属性路径设置为SelectedValue

tutorial中的4种可能性中的每一种都独立存在(你不应该将它们组合起来)。

您可能需要SelectedValuePath

SelectedItem