WPF/CaliburnMicro 将一个 属性 绑定到两个表单控件
WPF/CaliburnMicro Bind one property to two form controls
我有一个 PersonModel
对象,它有两个属性,FirstName
和 LastName
。我在我的 ViewModel 中创建了一个类型为 PersonModel
的 CurrentPerson
属性。绑定到控件时,绑定到 x:Name
的是唯一在运行时显示的
文本块显示名字
<TextBlock x:Name="CurrentPerson_FirstName" Grid.Column="0" Grid.Row="0"></TextBlock>
<TextBox Text="{Binding Path=CurrentPerson_FirstName}" Grid.Column="0" Grid.Row="1"/>
文本框显示名字
<TextBlock Text="{Binding Path=CurrentPerson_FirstName}" Grid.Column="0" Grid.Row="0" ></TextBlock>
<TextBox Name="CurrentPerson_FirstName" Grid.Column="0" Grid.Row="1" />
如何让 TextBlock 和 TextBox 显示相同的数据,并且如果在 TextBox 中输入,TextBlock 和 CurrentPerson 将被更新?
不使用 x:Name
时,您应该坚持使用“.”的传统命名模式。在您的 TextBlock 中,您需要将 "CurrentPerson_FirstName" 替换为 "CurrentPerson.FirstName"。
例如,
<TextBlock Text="{Binding Path=CurrentPerson.FirstName}" Grid.Column="0" Grid.Row="0" ></TextBlock>
这应该可以帮助您将两个控件绑定到同一个 属性。
我有一个 PersonModel
对象,它有两个属性,FirstName
和 LastName
。我在我的 ViewModel 中创建了一个类型为 PersonModel
的 CurrentPerson
属性。绑定到控件时,绑定到 x:Name
的是唯一在运行时显示的
文本块显示名字
<TextBlock x:Name="CurrentPerson_FirstName" Grid.Column="0" Grid.Row="0"></TextBlock>
<TextBox Text="{Binding Path=CurrentPerson_FirstName}" Grid.Column="0" Grid.Row="1"/>
文本框显示名字
<TextBlock Text="{Binding Path=CurrentPerson_FirstName}" Grid.Column="0" Grid.Row="0" ></TextBlock>
<TextBox Name="CurrentPerson_FirstName" Grid.Column="0" Grid.Row="1" />
如何让 TextBlock 和 TextBox 显示相同的数据,并且如果在 TextBox 中输入,TextBlock 和 CurrentPerson 将被更新?
不使用 x:Name
时,您应该坚持使用“.”的传统命名模式。在您的 TextBlock 中,您需要将 "CurrentPerson_FirstName" 替换为 "CurrentPerson.FirstName"。
例如,
<TextBlock Text="{Binding Path=CurrentPerson.FirstName}" Grid.Column="0" Grid.Row="0" ></TextBlock>
这应该可以帮助您将两个控件绑定到同一个 属性。