4 using System.Collections.Generic;
5 using System.Collections.Specialized;
6 using System.ComponentModel;
9 using System.Threading.Tasks;
11 using System.Windows.Controls;
13 namespace SiliconStudio.Presentation.Behaviors
21 public bool IsAutoSizedByDefault {
get; set; }
26 if (observableCollection != null)
27 observableCollection.CollectionChanged += SourceCollectionChanged;
29 var gridView = AssociatedObject.View as GridView;
32 foreach (var column
in gridView.Columns)
33 column.Width = IsAutoSizedByDefault ? double.NaN : column.ActualWidth;
40 if (observableCollection != null)
41 observableCollection.CollectionChanged -= SourceCollectionChanged;
44 private void SourceCollectionChanged(
object sender, NotifyCollectionChangedEventArgs e)
46 var gridView = AssociatedObject.View as GridView;
48 UpdateAllColumns(gridView);
51 private void UpdateAllColumns(GridView gridView)
53 foreach (var column
in gridView.Columns)
57 private void UpdateColumn(GridViewColumn column)
60 if (
double.IsNaN(column.Width))
63 column.Width = column.ActualWidth;
65 column.Width = double.NaN;
override void OnDetachingOverride()
override void OnAttachedOverride()