【发布时间】:2020-11-13 20:09:32
【问题描述】:
我遇到了一个小问题,我试图将 DataGrid 的 DataTextColumn 绑定到计算字段。
WPF
<DataGrid ItemsSource="{Binding Path=CurrentRoster, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
AutoGenerateColumns="False"
AlternatingRowBackground="Gainsboro"
AlternationCount="2">
<DataGrid.Columns>
<DataGridComboBoxColumn Header="Student Enrolled"
ItemsSource="{Binding Source={StaticResource AvailableStudents}}"
SelectedItemBinding="{Binding Path=Student}">
</DataGridComboBoxColumn>
<DataGridTextColumn Header="Registration" Binding="{Binding Path=RegistrationCosts, StringFormat='{}{0:C}'}"/>
<DataGridTextColumn Header="Lodging" Binding="{Binding Path=LodgingCosts, StringFormat='{}{0:C}'}"/>
<DataGridTextColumn Header="Travel" Binding="{Binding Path=TravelCosts, StringFormat='{}{0:C}'}"/>
<DataGridTextColumn Header="Dining" Binding="{Binding Path=DiningCosts, StringFormat='{}{0:C}'}"/>
<DataGridTextColumn Header="Total Costs" IsReadOnly="True" Binding="{Binding Path=TotalCosts, StringFormat='{}{0:C}'}"/>
</DataGrid.Columns>
Student 是一个 Entity 对象,有一个小的添加。 TotalCosts 不是 db 表上的字段,因此我为此创建了一个部分类。
public partial class Student
{
public Decimal TotalCosts
{
get { return (LodgingCosts + RegistrationCosts + TravelCosts + DiningCosts); }
}
}
我遇到的问题是,当您填写任何其他字段时,TotalCosts 不会自动更新。我的猜测是因为它没有被列为依赖属性。对于没有设置的属性,我该如何解决这个问题?
【问题讨论】:
标签: c# wpf data-binding entity-framework-4