我有四列一個DataGrid:Datagrid的錯誤 - Viemodel屬性不能被填充
Datagrid中通過一個觀察的集合填充。查看模式是:
public class PlanningResult : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
public double A { get; set; }
public double B { get; set; }
public double C { get; set; }
public double D { get; set; }
}
ObservableCollection<PlanningResult> populatePatternData = new ObservableCollection<PlanningResult>();
public ObservableCollection<PlanningResult> PopulatePatternData
{
get { return populatePatternData; }
set
{
populatePatternData = value;
base.OnPropertyChanged("StringList");
}
}
這裏是要求對我來說: - Column C
和Column D
除非用戶在Column A
或Column B
的變化應該有相同的價值觀。在這種情況下,Column D
應該變成ColumnA+ColumnB
。
基於以上條件,我可以在視圖模型變化
,我面對的是,我無法填充columnD爲「
initial values = values same as columnC
」問題。我如何向列D提供初始值?當我嘗試通過收集這樣做,我得到一個錯誤:
property D cannot be assigned to -- it is read only
thnks。問題的一個變體:當A或B變化時,是否可以調用某個函數? @ mm8 – user7157732
您可以在A和B屬性的setter中調用您想要的任何方法,就像調用NotifyPropertyChanged方法一樣。 – mm8