【问题标题】:WPF/CaliburnMicro Bind one property to two form controlsWPF/CaliburnMicro 将一个属性绑定到两个表单控件
【发布时间】:2019-03-09 02:17:15
【问题描述】:

我有一个PersonModel 对象,它有两个属性FirstNameLastName。我在 ViewModel 中创建了 PersonModel 类型的 CurrentPerson 属性。绑定到控件时,绑定到x:Name 的那个是唯一在运行时显示的控件

TextBlock 显示名字

<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 会更新?

【问题讨论】:

    标签: wpf vb.net data-binding caliburn.micro


    【解决方案1】:

    当不使用x:Name 时,您应该坚持使用“.”的常规命名模式。在您的 TextBlock 中,您需要将“CurrentPerson_FirstName”替换为“CurrentPerson.FirstName”。

    例如,

    <TextBlock Text="{Binding Path=CurrentPerson.FirstName}" Grid.Column="0"  Grid.Row="0" ></TextBlock>
    

    这应该可以帮助您将两个控件绑定到同一个属性。

    【讨论】:

    • 谢谢!你知道这些类型的约定的列表吗?在遇到问题之前,我似乎从来不知道这样的事情
    • @ZachRaudebaugh 很高兴为您提供帮助。 Caliburn micro 使用的大部分约定都在这里讨论caliburnmicro.com/documentation/conventions
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多