【问题标题】:Is it possible to bind two source properties to one control property?是否可以将两个源属性绑定到一个控件属性?
【发布时间】:2011-01-01 10:18:22
【问题描述】:

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

【问题讨论】:

  • 你问的是两个不同的问题吗?还是我误会了?首先,您想使用一种方式绑定到您的文本框,然后您想将数据推送回源?这是两种方式...
  • 我认为他想将 textbox.text 绑定到两个不同的绑定源,s.th.a 更改文本框将更改它们的值。

标签: c# wpf data-binding controls


【解决方案1】:

您可以使用某种绑定代理,如本博文所述:

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

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

  1. 用 x:Name=tb 定义一个 TextBox
  2. 将 TextBox.Text 绑定到 Prop1
  3. 添加一个带有 In="{Binding Text, ElementName=tb}", Out="{Binding Prop2}" 的代理元素(不在文本框内而是在文本框旁边)

这样,您将让 Prop1 和 Prop2 与 tb.Text 同步。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 2011-11-02
      • 1970-01-01
      • 2010-11-23
      • 2010-11-14
      相关资源
      最近更新 更多