0

试图找出一种让列表框显示当前值的快速方法,如下所示

listbox is bound to a ObservableCollection<TypeA>

和 TypeA.ToString() 返回 TypeA.Name

并在列表框中选择一个项目会在某些文本框中显示 TypeA 字段以进行编辑

更新 TypeA.Name 不会更新列表框中显示的值?

如何通知列表框以获取当前值?

在文本框中的值发生变化时更新列表框会更好!

谢谢

4

2 回答 2

0

您可以在列表框和文本框之间进行元素绑定。

<TextBox Name="txtName"/>
<ListBoxItem SelectedItem = "{Binding ElementName=txtName, Path=Text}"/>
于 2012-08-16T08:39:43.430 回答
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}" />

当您更改文本框中的文本时,列表框中的选定项目将更新。

于 2012-08-16T08:47:08.730 回答