[英]How to bind two elements to the same property in WPF - C#
我在带有MVVM(带有Caliburn Micro框架)的WPF应用程序中使用C#。 我试图将2个元素(一个TextBlock和一个TextBox)绑定到位于模型视图中的相同属性。 我的属性称为FirstName 。 我有两个选择来进行绑定: Binding Path = FirstName或x:Name = FirstName 。 编辑文本框时,只有以某种方式绑定(请参见代码),才能看到文本块中的更改。 知道为什么其他方式不起作用? (当我在文本框中键入内容时,我看不到我的文本块更新)
我尝试了不同的模式选项(两种方式,一种方式等)。 NotifyOfPropertyChange似乎正在工作。
<!-- This works -->
<TextBlock Text="{Binding Path=FirstName}"/>
<TextBox x:Name="FirstName"/>
<!-- This does not work -->
<TextBlock x:Name="FirstName"/>
<TextBox Text="{Binding Path=FirstName, Mode=TwoWay}"/>
在第二个示例中,您需要指定UpdateSourceTrigger=PropertyChanged
:
<TextBlock x:Name="FirstName"/>
<TextBox Text="{Binding Path=FirstName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
否则,仅当TextBox失去焦点时才更新源。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.