从组合框中选择项目后,附加的属性不会按预期更新。这是一个菜鸟错误,但我想知道我做错了什么。
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:
答案 0 :(得分:0)
Text
的{{1}}属性不是检索所选值的最佳选择。
根据集合中的项目,您应该使用:
ComboBox
:当集合中的项目是字符串SelectedItem
:当项目的类型为'SomeClass'时。 ComboBox为每个Item显示相同的属性。此属性路径设置为SelectedValue
。tutorial中的4种可能性中的每一种都独立存在(你不应该将它们组合起来)。
您可能需要SelectedValuePath
SelectedItem