繁体   English   中英

如何在WPF中将两个元素绑定到同一属性-C#

[英]How to bind two elements to the same property in WPF - C#

我在带有MVVM(带有Caliburn Micro框架)的WPF应用程序中使用C#。 我试图将2个元素(一个TextBlock和一个TextBox)绑定到位于模型视图中的相同属性。 我的属性称为FirstName 我有两个选择来进行绑定: Binding Path = FirstNamex: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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM