【发布时间】:2017-04-17 05:35:26
【问题描述】:
我有两个在 wpf mvvm 中独立工作的文本框。但是现在我想根据一个复选框将一个文本框的输入绑定到另一个文本框。
<Label Grid.Row="4" Grid.Column="0" Style="{StaticResource StlLblForm}" Margin="0,5">First Name:</Label>
<TextBox Grid.Row="4" MaxLength="10" Grid.Column="1" Style="{StaticResource StlTxtForm}" Text="{Binding FirstName}" Grid.ColumnSpan="2" Margin="0,1,0,11" />
<Label Grid.Row="5" Grid.Column="0" Style="{StaticResource StlLblForm}" Margin="0,5">Last Name:</Label>
<TextBox Grid.Row="5" Grid.Column="1" Style="{StaticResource StlTxtForm}" Text="{Binding LastName}" AcceptsReturn="True" Grid.ColumnSpan="2" Margin="0,1,0,11" />
<CheckBox Content="CopyFirstNameToLast" />
所以当我选中复选框时,它会将名字复制到姓氏。我可以在没有代码的情况下做到这一点吗?如果是那怎么办?
【问题讨论】:
-
您需要onproperty更改通知
-
在 XAML 中将姓氏绑定到名字很简单,请参阅stackoverflow.com/questions/9586956/… 了解更多信息。但是复选框使它变得更加复杂,您可能必须编写一个值转换器来完成这项工作。
-
您为什么希望避免代码落后?您可以使用自定义转换器,但您的场景的代码隐藏将是正确的方法恕我直言。