Skip to content

Commit 7ee5c2b

Browse files
committed
2 parents 9e05be4 + cf13353 commit 7ee5c2b

File tree

5 files changed

+35
-30
lines changed

5 files changed

+35
-30
lines changed

MainDemo.Wpf/Grids.xaml

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,31 @@
2020
materialDesign:DataGridAssist.CellPadding="13 8 8 8" materialDesign:DataGridAssist.ColumnHeaderPadding="8">
2121
<DataGrid.Columns>
2222
<DataGridCheckBoxColumn Binding="{Binding IsSelected}"
23-
ElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnStyle}"
24-
EditingElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnEditingStyle}">
23+
ElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnStyle}"
24+
EditingElementStyle="{StaticResource MaterialDesignDataGridCheckBoxColumnEditingStyle}"
25+
>
2526
<DataGridCheckBoxColumn.Header>
2627
<!--padding to allow hit test to pass thru for sorting -->
2728
<Border Background="Transparent" Padding="6 0 6 0" HorizontalAlignment="Center">
2829
<CheckBox HorizontalAlignment="Center"
29-
DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=DataContext}"
30-
IsChecked="{Binding IsAllItems3Selected}" />
30+
DataContext="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=DataContext}"
31+
IsChecked="{Binding IsAllItems3Selected}" />
3132
</Border>
3233
</DataGridCheckBoxColumn.Header>
3334
</DataGridCheckBoxColumn>
3435
<DataGridTextColumn Binding="{Binding Code}"
35-
Header="Code"
36-
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}"
37-
/>
36+
Header="Code"
37+
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnEditingStyle}" />
3838
<!-- if you want to use the pop up style (MaterialDesignDataGridTextColumnPopupEditingStyle), you must use MaterialDataGridTextColumn -->
3939
<materialDesign:MaterialDataGridTextColumn Binding="{Binding Name}"
40-
Header="Name"
41-
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}"
42-
/>
40+
Header="Name"
41+
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}"
42+
/>
4343
<!-- set a max length to get an indicator in the editor -->
4444
<materialDesign:MaterialDataGridTextColumn Binding="{Binding Description}"
45-
Header="Description"
46-
MaxLength="255"
47-
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}"
48-
/>
45+
Header="Description"
46+
MaxLength="255"
47+
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}" />
4948
<materialDesign:MaterialDataGridTextColumn Binding="{Binding Numeric}"
5049
Header="Numeric"
5150
EditingElementStyle="{StaticResource MaterialDesignDataGridTextColumnPopupEditingStyle}">
@@ -63,8 +62,8 @@
6362

6463
<!-- use custom combo box column to get better combos. Use ItemsSourceBinding as your binding template to be applied to each combo -->
6564
<materialDesign:MaterialDataGridComboBoxColumn Header="Food"
66-
SelectedValueBinding="{Binding Food}"
67-
ItemsSourceBinding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.Foods}" />
65+
SelectedValueBinding="{Binding Food}"
66+
ItemsSourceBinding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGrid}}, Path=DataContext.Foods}" />
6867
</DataGrid.Columns>
6968
</DataGrid>
7069
<TextBlock Margin="0 24 0 0">Auto Generated Columns</TextBlock>

MaterialDesignThemes.Wpf/DataGridAssist.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,8 @@ private static void DataGridOnPreviewMouseLeftButtonDown(object sender,
164164
var dataGridCell = inputHitTest as DataGridCell;
165165
if (dataGridCell != null && dataGrid.Equals(dataGridCell.GetVisualAncestry().OfType<DataGrid>().FirstOrDefault()))
166166
{
167+
if (dataGridCell.IsReadOnly) return;
168+
167169
ToggleButton toggleButton;
168170
ComboBox comboBox;
169171
if (IsDirectHitOnEditComponent(dataGridCell, mouseButtonEventArgs, out toggleButton))

MaterialDesignThemes.Wpf/MaterialDataGridTextColumn.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System.Windows;
22
using System.Windows.Controls;
3+
using System.Windows.Threading;
34

45
namespace MaterialDesignThemes.Wpf
56
{
@@ -9,9 +10,12 @@ protected override object PrepareCellForEdit(FrameworkElement editingElement, Ro
910
{
1011
var textBox = editingElement as TextBox;
1112
if (textBox != null)
13+
{
1214
textBox.MaxLength = MaxLength;
15+
textBox.SelectionStart = textBox.Text.Length;
16+
}
1317

14-
editingElement.Focus();
18+
editingElement.Focus();
1519

1620
return null;
1721
}

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.DataGrid.xaml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
33
xmlns:wpf="clr-namespace:MaterialDesignThemes.Wpf"
4-
xmlns:converters="clr-namespace:MaterialDesignThemes.Wpf.Converters">
4+
xmlns:converters="clr-namespace:MaterialDesignThemes.Wpf.Converters"
5+
xmlns:controlzEx="clr-namespace:ControlzEx">
56

67
<ResourceDictionary.MergedDictionaries>
78
<ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/materialdesigntheme.checkbox.xaml" />
@@ -46,8 +47,7 @@
4647
<Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"
4748
Padding="0 -1 0 3">
4849
<Grid>
49-
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"
50-
/>
50+
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" />
5151
<wpf:SmartHint x:Name="Hint"
5252
Margin="1 0"
5353
Hint="{Binding Path=(wpf:HintAssist.Hint), RelativeSource={RelativeSource TemplatedParent}}"
@@ -71,9 +71,9 @@
7171
<Setter.Value>
7272
<ControlTemplate TargetType="{x:Type TextBox}">
7373
<Grid>
74-
<Popup IsOpen="True" AllowsTransparency="True" Placement="RelativePoint" HorizontalOffset="-6" VerticalOffset="-6"
75-
PlacementTarget="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridCell}}}"
76-
PopupAnimation="Fade">
74+
<controlzEx:PopupEx IsOpen="True" AllowsTransparency="True" Placement="RelativePoint" HorizontalOffset="-6" VerticalOffset="-6"
75+
PlacementTarget="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type DataGridCell}}}"
76+
PopupAnimation="Fade">
7777
<Grid>
7878
<AdornerDecorator CacheMode="{Binding RelativeSource={RelativeSource Self}, Path=(wpf:ShadowAssist.CacheMode)}">
7979
<Border Background="{DynamicResource MaterialDesignPaper}" CornerRadius="2"
@@ -94,8 +94,7 @@
9494
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True"
9595
Padding="0 -1 0 3">
9696
<Grid>
97-
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden"
98-
/>
97+
<ScrollViewer x:Name="PART_ContentHost" Focusable="false" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Hidden" />
9998
<wpf:SmartHint x:Name="Hint"
10099
Margin="1 0"
101100
Hint="{Binding Path=(wpf:HintAssist.Hint), RelativeSource={RelativeSource TemplatedParent}}"
@@ -117,7 +116,7 @@
117116
</Grid>
118117
</Border>
119118
</Grid>
120-
</Popup>
119+
</controlzEx:PopupEx>
121120
</Grid>
122121
</ControlTemplate>
123122
</Setter.Value>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.GroupBox.xaml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,16 @@
2323
<Style x:Key="MaterialDesignGroupBox" TargetType="{x:Type GroupBox}">
2424
<Setter Property="Background" Value="Transparent"/>
2525
<Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"/>
26-
<Setter Property="Padding" Value="6,6,6,6"/>
26+
<Setter Property="Padding" Value="9"/>
2727
<Setter Property="BorderThickness" Value="1"/>
2828
<Setter Property="SnapsToDevicePixels" Value="true"/>
2929
<Setter Property="wpf:ShadowAssist.ShadowDepth" Value="Depth0" />
3030
<Setter Property="wpf:ColorZoneAssist.Mode" Value="PrimaryMid" />
3131
<Setter Property="Template">
3232
<Setter.Value>
3333
<ControlTemplate TargetType="{x:Type GroupBox}">
34-
<Border Background="{TemplateBinding Background}" BorderBrush="{Binding Path=Background, ElementName=PART_ColorZone}" BorderThickness="{TemplateBinding BorderThickness}">
34+
<Grid>
35+
<Border Background="{TemplateBinding Background}" BorderBrush="{Binding Path=Background, ElementName=PART_ColorZone}" BorderThickness="{TemplateBinding BorderThickness}" />
3536
<DockPanel Background="{TemplateBinding Background}">
3637
<wpf:ColorZone UseLayoutRounding="True" x:Name="PART_ColorZone" DockPanel.Dock="Top" Padding="{TemplateBinding Padding}" Effect="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(wpf:ShadowAssist.ShadowDepth), Converter={x:Static converters:ShadowConverter.Instance}}" Mode="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=(wpf:ColorZoneAssist.Mode)}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
3738
<ContentPresenter ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
@@ -44,7 +45,7 @@
4445
ContentTemplate="{TemplateBinding ContentTemplate}"
4546
ContentTemplateSelector="{TemplateBinding ContentTemplateSelector}"/>
4647
</DockPanel>
47-
</Border>
48+
</Grid>
4849
</ControlTemplate>
4950
</Setter.Value>
5051
</Setter>
@@ -53,7 +54,7 @@
5354
<Style x:Key="MaterialDesignCardGroupBox" TargetType="{x:Type GroupBox}">
5455
<Setter Property="Background" Value="Transparent"/>
5556
<Setter Property="Foreground" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type FrameworkElement}}, Path=(TextElement.Foreground)}"/>
56-
<Setter Property="Padding" Value="6,6,6,6"/>
57+
<Setter Property="Padding" Value="9"/>
5758
<Setter Property="BorderThickness" Value="0"/>
5859
<Setter Property="SnapsToDevicePixels" Value="true"/>
5960
<Setter Property="wpf:ShadowAssist.ShadowDepth" Value="Depth0" />

0 commit comments

Comments
 (0)