private void ApplyViewMethod() { if (ViewModel.ViewMethod == Zetbox.App.GUI.InstanceListViewMethod.Details) { ApplyColumns(); ListView.ItemContainerStyle = Application.Current.Resources["ListViewAsGridViewItemContainerStyle"] as Style; SortHelper.ApplyInitialSortTemplates(((GridView)ListView.View).Columns.FirstOrDefault(i => WpfSortHelper.GetSortPropertyName(i) == ViewModel.SortProperty)); } else { ListView.ItemContainerStyle = Application.Current.Resources["ListViewItemContainerStyle"] as Style; ListView.View = null; // ?? } }
protected override void OnPropertyChanged(DependencyPropertyChangedEventArgs e) { base.OnPropertyChanged(e); if (ViewModel != null && e.Property == FrameworkElement.DataContextProperty) { ViewModel.PropertyChanged += (s, pce) => { if (pce.PropertyName == "DisplayedColumns") { ViewModel.DisplayedColumns.Columns.CollectionChanged += (sncc, ncc) => ApplyColumns(); ApplyColumns(); } }; ViewModel.DisplayedColumns.Columns.CollectionChanged += (s, ncc) => ApplyColumns(); ApplyColumns(); SortHelper.ApplyInitialSortTemplates(DataGrid.Columns.FirstOrDefault(i => WpfSortHelper.GetSortPropertyName(i) == ViewModel.SortProperty)); this.ApplyIsBusyBehaviour(ViewModel); } }