private void PrepareLoadingDataControl(DataGridLoadDataControl control) { if (control != null) { control.Owner = this.owner; this.owner.visualStateService.RegisterDataLoadingListener((IDataStatusListener)control); } }
public object GenerateContainerForItem(RowGenerationContext info, object containerType) { DataGridGroupHeader groupHeader = null; object generatedContent = null; if (groupHeaderType.Equals(containerType)) { groupHeader = new DataGridGroupHeader(); } else if (object.Equals(frozenHeader, containerType)) { // Frozen Headers are placed in different panel (not in cells panel). groupHeader = new DataGridGroupHeader(true); } if (groupHeader != null) { if (groupHeader.IsFrozen) { this.owner.FrozenGroupHeadersHost.Children.Add(groupHeader); } else { var contentLayer = this.owner.GroupHeadersContentLayer; if (contentLayer != null) { contentLayer.AddVisualChild(groupHeader); } } generatedContent = groupHeader; } if (containerType != null && containerType.Equals(loadingDataControlType)) { var control = new DataGridLoadDataControl(); var contentLayer = this.owner.GetContentLayerForColumn(null); if (contentLayer != null) { contentLayer.AddVisualChild(control); } generatedContent = control; } if (rowDetailType.Equals(containerType)) { generatedContent = this.owner.rowDetailsService.DetailsPresenter; this.owner.rowDetailsService.DetailsPresenter.Visibility = Visibility.Visible; } return(generatedContent); }
public void PrepareContainerForItem(GridRowModel decorator) { DataGridLoadDataControl control = decorator.Container as DataGridLoadDataControl; if (control != null) { control.Owner = this.owner; this.owner.visualStateService.RegisterDataLoadingListener((IDataStatusListener)control); } this.PrepareGroupRow(decorator, decorator.Container as DataGridGroupHeader); }
public void ClearContainerForItem(GridRowModel decorator) { DataGridLoadDataControl control = decorator.Container as DataGridLoadDataControl; if (control != null) { control.Owner = null; this.owner.visualStateService.UnregisterDataLoadingListener((IDataStatusListener)control); } DataGridGroupHeader groupHeader = decorator.Container as DataGridGroupHeader; if (groupHeader != null) { groupHeader.Owner = null; } }