fix: fixed datagrid small style invalid sometimes issue.
This commit is contained in:
1 parent
9371513a0d
commit
0d6fd12dfe
7 files changed
+485
-33
No files matched your search
@@ -1,4 +1,5 @@
|
||||
using System.Linq;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Controls.Primitives;
|
||||
@@ -17,9 +18,17 @@ public class DataGridAttach
|
||||
var grid = (DataGrid) d;
|
||||
if ((bool) e.NewValue)
|
||||
{
|
||||
if (grid.AutoGenerateColumns)
|
||||
grid.Columns.CollectionChanged += OnDataGridColumnsCollectionChanged;
|
||||
}
|
||||
else
|
||||
{
|
||||
grid.Columns.CollectionChanged -= OnDataGridColumnsCollectionChanged;
|
||||
}
|
||||
|
||||
void OnDataGridColumnsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
|
||||
{
|
||||
if (e.Action is NotifyCollectionChangedAction.Remove or NotifyCollectionChangedAction.Move)
|
||||
{
|
||||
grid.AutoGeneratedColumns += Grid_AutoGeneratedColumns;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -27,18 +36,6 @@ public class DataGridAttach
|
||||
UpdateComboBoxColumnStyles(grid);
|
||||
UpdateCheckBoxColumnStyles(grid);
|
||||
}
|
||||
else
|
||||
{
|
||||
grid.AutoGeneratedColumns -= Grid_AutoGeneratedColumns;
|
||||
}
|
||||
}
|
||||
|
||||
private static void Grid_AutoGeneratedColumns(object sender, System.EventArgs e)
|
||||
{
|
||||
var grid = (DataGrid) sender;
|
||||
UpdateTextColumnStyles(grid);
|
||||
UpdateComboBoxColumnStyles(grid);
|
||||
UpdateCheckBoxColumnStyles(grid);
|
||||
}
|
||||
|
||||
public static void SetApplyDefaultStyle(DependencyObject element, bool value)
|
||||
|
||||
Reference in new issue
Block a user