【问题标题】:Bind multiply Comboboxes to a TextBox将多个组合框绑定到文本框
【发布时间】:2016-12-16 12:18:34
【问题描述】:

我已将ComboBox 绑定到我的TextBox

<TextBlock Grid.Row="1" Name="DescriptionText" Text="{Binding ElementName=ScreenLocations, Path=SelectedItem.Description}" />

我的网格中有 4 个组合框。我想要做的是,每次我从任何ComboBox 中选择一个项目时,都用所选对象Description 属性更新TextBox

是否可以将多个 ComboBoxes 绑定到一个 TextBox,或者我需要使用某种事件?

【问题讨论】:

标签: wpf events data-binding combobox textbox


【解决方案1】:

在您的 ViewModel 中创建一个属性并将所有组合框的“selectedItem”属性绑定到它(使用 Mode="OneWayToSource",这将防止对一个 ComboBox 的 selectedItem 的更改影响另一个),然后将您的 TextBox 绑定到使用 Mode="OneWay" 在 VM 中创建的相同属性。不要忘记在你的虚拟机中实现 INotifyPropertyChanged。

【讨论】:

  • 我不是 100% 怎​​么实现的。这个属性应该是什么类型?细绳?此属性是否更新为所选项目,从而显示项目的描述?另外,如果 ComboBoxes 中的这些项目不同,那会有什么影响吗?我还是新手。
  • 该属性应该与您的组合框项目的类型相同(我假设您的所有组合框项目都是同一类型,如果不创建父类并让您的项目的所有类继承从它)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-23
  • 2016-04-23
  • 1970-01-01
  • 2016-05-02
  • 1970-01-01
  • 2021-01-01
  • 2012-07-24
相关资源
最近更新 更多