首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF MultiBinding

WPF MultiBinding
EN

Stack Overflow用户
提问于 2009-07-22 21:39:12
回答 1查看 20.1K关注 0票数 8

我有两个文本框,一个用于帐单地址字段,另一个用于发货地址字段。当用户在帐单地址文本框中键入内容时,由于以下绑定方案,发货地址文本框将获得相同的值:

代码语言:javascript
复制
<TextBox Name="txtBillingAddress" Text="{Binding BillingAddress, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" />

<TextBox Name="txtShippingAddress">
   <TextBox.Text>
      <MultiBinding Converter="{StaticResource AddressConverter}">
         <Binding ElementName="txtBillingAddress" Path="Text" Mode="OneWay" />
         <Binding Path="ShippingAddress" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay" />
      </MultiBinding>
   </TextBox.Text>
</TextBox>

这在一定程度上可以很好地工作。我还希望将发货地址绑定到我的数据库实体,因为帐单地址是。我的问题是,虽然送货地址文本框填充了帐单地址中键入的内容,但在发生这种情况时,ConvertBack方法并未触发。只有在送货地址文本框中直接键入内容时才会触发。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-23 08:56:12

也许这会更容易在你的ViewModel中实现?

代码语言:javascript
复制
public string BillingAddress{
    set{
        billingAddress = value;
        firePropertyChanged("BillingAddress");
        if(string.isNullOrEmpty(ShippingAddress)
        {
            ShippingAddress = value; //use the property to ensure PropertyChanged fires
        }
    }
    get{ return billingAddress; }
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1168419

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档