gpt4 book ai didi

c# - 如何根据条件将 C# WPF TextBox 绑定(bind)到不同的属性?

转载 作者:行者123 更新时间:2023-11-30 20:01:32 24 4
gpt4 key购买 nike

如何让我的 TextBox 根据用户选择绑定(bind)到不同的属性。我的场景是:

一个客户有这些属性:

  1. 邮寄地址和
  2. 送货地址。

编辑或创建这些时,有一个单选按钮用于选择要编辑的地址。因此,当我单击 Mailing Address 单选按钮时,我想将我的 TextBox 绑定(bind)到属性“MailAddress”,但是当单击 Shipping Address 时,我想将绑定(bind)更改为“ ShipAddress”属性。

我知道我可以拥有一个属性“Address”,它会在单击单选按钮时设置,但我想直接绑定(bind)到 Customer.MailAddressCustomer.ShipAddress 用于验证目的(需要邮件地址,但不需要送货地址)。

最佳答案

首先,我想说我自己不会这样做,但为了直接回答您的问题,您可以这样做:

<TextBox Name="YourTextBox">
<TextBox.Style>
<Style>
<Setter Property="TextBox.Text" Value="{Binding MailAddress}" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked, ElementName=TheRadioButton}"
Value="True">
<Setter Property="TextBox.Text" Value="{Binding ShipAddress}" />
</DataTrigger>
</Style.Triggers>
</Style>
</TextBox.Style>
</TextBox>

我个人只是将这些控件放入我可以绑定(bind)的 UserControl 中,甚至将我的控件加倍,对我所有的 Binding 进行硬编码,然后使用Checkbox.IsChecked 属性值来切换它们的 Visibility。它可能会产生更多的代码,但它会更清晰,更容易调试。无论哪种方式,都取决于您。

关于c# - 如何根据条件将 C# WPF TextBox 绑定(bind)到不同的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18790105/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com