WPF如何检测Entity Framework Code First Poco类中的更改?

时间:2013-12-01 22:37:50

标签: c# wpf entity-framework

我正在使用带有SQL Server Compact Edition的WPF在.NET 4.0中构建桌面应用程序。 我正在使用Entity Framework 6.0 Code First方法作为我的ORM。我的POCO课很简单:

public class Employee
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName { get { return FirstName + " " + LastName; } }
}

我正在使用以下代码

在UI中显示FullName属性
<TextBox Text="{Binding FirstName, UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Text="{Binding LastName, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="{Binding FullName}" />

当我更新其中一个属性FirstNameLastName时,FullName不会更新。

起初,我认为这是因为我的POCO类没有实现INotifyPropertyChanged(我懒得在我的所有属性setter中编写OnPropertyChanged方法:)。

但另一方面,当我尝试Multibinding ... 它以某种神奇的方式工作

<MultiBinding StringFormat="{}{0} {1}">
    <Binding Path="Employee.FirstName"/>
    <Binding Path="Employee.LastName"/>
</MultiBinding>

有人可以向我解释一下,什么事件正在触发UI更新?如何将我的小EventHandler添加到此事件中?

0 个答案:

没有答案