2012-08-16 63 views
0

试图找出一个快速的方法有一个列表框显示当前值如下触发更新,其中与结合

listbox is bound to a ObservableCollection<TypeA> 

和TypeA.ToString()的返回TypeA.Name

和选择项目在列表框中显示某些文本框中的TypeA字段进行编辑

更新TypeA.Name不会更新listbox中显示的值吗?

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

在文本框中更改值时更新列表框会更好!

谢谢

回答

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}" /> 

当您更改文本框在列表框中选择的项目将更新文本。

0

你可以做列表框和文本框之间的元素绑定。

<TextBox Name="txtName"/> 
<ListBoxItem SelectedItem = "{Binding ElementName=txtName, Path=Text}"/>