【发布时间】:2012-01-27 20:18:47
【问题描述】:
我有一个使用实体框架模型的 WPF 应用程序。其中一个实体是员工类型。此实体具有 LastName 和 FirstName 属性等。但是在我的 xaml 中,我想在我的 DataGrid 中显示一个全名。所以我创建了这个 Partial Class 来返回全名,并在 DataGrid 中显示这个属性。这很好用。 FullName 按预期显示在 DataGrid 中。
public partial class Employee
{
public string FullName
{
get { return LastName.Trim() + ", " + FirstName.Trim(); }
}
}
我遇到的问题是我的编辑表单有文本框绑定到 LastName 和 FirstName 属性。当我更新 CompanyName、LastName、FirstName、HireDate 等值时,DataGrid 中所有已更改的列都会正确更新,但 FullName 属性不会更新。
为什么我的 FullName 部分类没有得到更新,而 DataGrid 的其余属性却得到了更新?我该如何纠正这个问题?
这是我的编辑表单 xaml。
<TextBox Grid.Column="1" Name="txtCompany" Text="{Binding SelectedEmployee.Company, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Grid.Column="1" Name="txtFirstName" Text="{Binding SelectedEmployee.FirstName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBox Grid.Column="1" Name="txtLastName" Text="{Binding SelectedEmployee.LastName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Grid.Column="1" Name="txtFullName" Grid.Row="2" Margin="2" Text="{Binding SelectedEmployee.FullName" /> -- Also show as column in DataGrid
【问题讨论】:
-
你在使用属性改变事件吗?
标签: wpf entity-framework partial-classes