是否可以将两个源属性绑定到一个控件属性?

时间:2010-01-04 21:50:38

标签: c# wpf data-binding controls

使用WPF,是否可以通过单向绑定将两个源属性绑定到一个控件属性(即textbox.text)?我想让用户在文本框中输入一个值,并将该值推送到源datacontext中的两个不同属性。我的解决方法是创建一个虚拟属性,并让setter手动设置两个值。

2 个答案:

答案 0 :(得分:5)

您需要使用MultiBindingIMultiValueConverter。请参阅文档中的示例

答案 1 :(得分:3)

您可以使用绑定代理的类型,如本博文中所述:

http://www.11011.net/wpf-binding-properties

然后只需按照以下步骤操作:

  1. 使用x:Name = tb
  2. 定义TextBox
  3. 将TextBox.Text绑定到Prop1
  4. 添加一个代理元素,其中包含In =“{Binding Text,ElementName = tb}”,Out =“{Binding Prop2}”(不在TextBox中但不在其中)
  5. 这样,您将使Prop1和Prop2与tb.Text同步。