WPF:如果所有单元格都填充了内容,则为DataGrid事件

时间:2017-09-26 15:03:47

标签: wpf datagrid

我正在使用绑定到自定义对象的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是否已完全填充。

0 个答案:

没有答案