improved datagrid
This commit is contained in:
1 parent
d90fe56157
commit
931aefe414
4 files changed
+41
No files matched your search
@@ -257,6 +257,7 @@
|
||||
<Setter Property="controls:DataGridAttach.EditingComboBoxColumnStyle" Value="{StaticResource ComboBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.CheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.EditingCheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.ApplyDefaultStyle" Value="True"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="DataGrid">
|
||||
|
||||
@@ -258,6 +258,7 @@
|
||||
<Setter Property="controls:DataGridAttach.EditingComboBoxColumnStyle" Value="{StaticResource ComboBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.CheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.EditingCheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.ApplyDefaultStyle" Value="True"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="DataGrid">
|
||||
|
||||
@@ -257,6 +257,7 @@
|
||||
<Setter Property="controls:DataGridAttach.EditingComboBoxColumnStyle" Value="{StaticResource ComboBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.CheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.EditingCheckBoxColumnStyle" Value="{StaticResource CheckBoxBaseStyle}"/>
|
||||
<Setter Property="controls:DataGridAttach.ApplyDefaultStyle" Value="True"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="DataGrid">
|
||||
|
||||
@@ -8,6 +8,44 @@ namespace HandyControl.Controls
|
||||
{
|
||||
public class DataGridAttach
|
||||
{
|
||||
public static readonly DependencyProperty ApplyDefaultStyleProperty = DependencyProperty.RegisterAttached(
|
||||
"ApplyDefaultStyle", typeof(bool), typeof(DataGridAttach), new PropertyMetadata(ValueBoxes.FalseBox, OnApplyDefaultStyleChanged));
|
||||
|
||||
private static void OnApplyDefaultStyleChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
var grid = (DataGrid)d;
|
||||
if ((bool)e.NewValue)
|
||||
{
|
||||
if (grid.AutoGenerateColumns)
|
||||
{
|
||||
grid.AutoGeneratedColumns += Grid_AutoGeneratedColumns;
|
||||
return;
|
||||
}
|
||||
|
||||
UpdateTextColumnStyles(grid);
|
||||
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)
|
||||
=> element.SetValue(ApplyDefaultStyleProperty, value);
|
||||
|
||||
public static bool GetApplyDefaultStyle(DependencyObject element)
|
||||
=> (bool) element.GetValue(ApplyDefaultStyleProperty);
|
||||
|
||||
public static readonly DependencyProperty TextColumnStyleProperty = DependencyProperty.RegisterAttached(
|
||||
"TextColumnStyle", typeof(Style), typeof(DataGridAttach), new PropertyMetadata(default(Style), OnTextColumnStyleChanged));
|
||||
|
||||
|
||||
Reference in new issue
Block a user