void IVirtualizedItemProvider.Realize() { if (this.OwningDataGrid != null) { OwningDataGrid.ScrollIntoView(null, Column); } }
void IValueProvider.SetValue(string value) { if (_column.IsReadOnly) { throw new InvalidOperationException(SR.Get(SRID.DataGrid_ColumnIsReadOnly)); } if (this.OwningDataGrid != null) { OwningDataGrid.SetCellAutomationValue(Item, _column, value); } }
// Invoking DataGrid item should commit the item if it is in edit mode // or BeginEdit if item is not in edit mode void IInvokeProvider.Invoke() { EnsureEnabled(); if (OwningRowPeer == null) { OwningDataGrid.ScrollIntoView(_item); } var success = false; if (OwningRow != null) { IEditableCollectionView iecv = OwningDataGrid.Items; if (iecv.CurrentEditItem == _item) { success = OwningDataGrid.CommitEdit(); } else { if (OwningDataGrid.Columns.Count > 0) { var cell = OwningDataGrid.TryFindCell(_item, OwningDataGrid.Columns[0]); if (cell != null) { OwningDataGrid.UnselectAll(); cell.Focus(); success = OwningDataGrid.BeginEdit(); } } } } // Invoke on a NewItemPlaceholder row creates a new item. // BeginEdit on a NewItemPlaceholder row returns false. if (!success && !IsNewItemPlaceholder) { throw new InvalidOperationException(SR.Get(SRID.DataGrid_AutomationInvokeFailed)); } }
void IVirtualizedItemProvider.Realize() { OwningDataGrid.ScrollIntoView(Item, _column); }
void IScrollItemProvider.ScrollIntoView() { OwningDataGrid.ScrollIntoView(_item); }