尝试找出一种快速的方法让列表框显示当前值,如下所示
listbox is bound to a ObservableCollection<TypeA>
和TypeA.ToString()返回TypeA.Name
并选择列表框中的项目会在某些文本框中显示TypeA字段以进行编辑
更新TypeA.Name不会更新列表框中显示的值吗?
如何通知列表框以获取当前值?
在文本框中更改值时更新列表框会更好!!
感谢
答案 0 :(得分:0)
您可以在列表框和文本框之间进行元素绑定。
<TextBox Name="txtName"/>
<ListBoxItem SelectedItem = "{Binding ElementName=txtName, Path=Text}"/>
答案 1 :(得分:0)
您可以通过将文本框绑定到列表框中的选定项目来完成此操作,如下所示:
<ListBox Name="listBox">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Name}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<TextBox Name="tbName" Text="{Binding ElementName=listBox, Path=SelectedItem.Name, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Name="tbField2" Text="{Binding ElementName=listBox, Path=SelectedItem.Field2, UpdateSourceTrigger=PropertyChanged}" />
<TextBox Name="tbField3" Text="{Binding ElementName=listBox, Path=SelectedItem.Field3, UpdateSourceTrigger=PropertyChanged}" />
当您更改文本框中的文本时,列表框中的所选项目将更新。