我正在使用绑定到自定义对象的ObservableCollection的DataGrid。我有两列包含需要由用户填写的行。
现在我有问题要自动弄清楚用户是否已向所有单元格输入了内容。我尝试了DataGrid事件但是找不到在提交单元格内容后触发的事件,因此存储在ObservableColletion中。
我正在使用PRISM 5和.NET 4.5。
有人有任何想法吗?
编辑:
<DataGrid Grid.Column="0" Grid.ColumnSpan="2" Grid.Row="1"
ItemsSource="{Binding EnergyMeasurements, UpdateSourceTrigger=PropertyChanged, NotifyOnTargetUpdated=True, Mode=TwoWay}"
CanUserAddRows="False" RowHeight="25" SelectionMode="Single" SelectionUnit="Cell"
CanUserReorderColumns="False" CanUserResizeColumns="False"
CanUserResizeRows="False" CanUserSortColumns="False"
AutoGenerateColumns="False" Visibility="{Binding EnergyDataVisibility}">
<DataGrid.Columns>
<DataGridTextColumn Header="Number" Binding="{Binding Number}" />
<DataGridTextColumn Header="Value1" Binding="{Binding EnergyValue1, StringFormat=\{0:n3\}, NotifyOnTargetUpdated=True, Mode=TwoWay}" />
<DataGridTextColumn Header="Value2" Binding="{Binding EnergyValue2, StringFormat=\{0:n3\}, NotifyOnTargetUpdated=True, Mode=TwoWay}" />
<DataGridTextColumn Header="Unit" Binding="{Binding Unit}" />
</DataGrid.Columns>
</DataGrid>
在我的ViewModel中:
public ObservableCollection<EnergyMeasurement> EnergyMeasurements
{
get { return _energyMeasurements; }
set
{
SetProperty(ref _energyMeasurements, value);
DataUpdated();
}
}
使用DataUpdated方法,我想检查ObservableCollection是否已完全填充。