如何根据用户选择告诉我的TextBox绑定到不同的属性.我的情况是:
客户具有以下属性:
编辑或创建这些时,有一个单选按钮,用于选择要编辑的地址.因此,当我单击"邮件地址"单选按钮时,我想将TextBox绑定到属性" MailAddress",但是当单击"运送地址"时,我想将绑定更改为" ShipAddress"属性.
我知道我可以在Address单击单选按钮时设置一个属性" ",但我想直接绑定到Customer.MailAddress或Customer.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>
Run Code Online (Sandbox Code Playgroud)
我个人只是把这些控件扔进一个UserControl我可以绑定的控件,或者甚至加倍我的控件,硬编码我Binding的所有s然后使用Checkbox.IsChecked属性值来切换Visibility它们.它可能会产生更多代码,但它会更清晰,更容易调试.无论哪种方式,都取决于你.
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |