Skip to content

Commit 7602669

Browse files
authored
Added ValidationAssist.HorizontalAlignment (#1767)
* Added ValidationAssist.HorizontalAlignment (#962) * Updated Fields-Page to show ValidationAssist.HorizontalAlignment (#962)
1 parent b45ee3d commit 7602669

File tree

3 files changed

+24
-8
lines changed

3 files changed

+24
-8
lines changed

MainDemo.Wpf/Fields.xaml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -269,9 +269,9 @@
269269
</ContentControl.ContentTemplateSelector>
270270
</ContentControl>
271271
</smtx:XamlDisplay>
272-
<TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource MaterialDesignSubtitle1TextBlock}" Margin="32 0 0 0">Tight Space Validation</TextBlock>
272+
<TextBlock Grid.Row="0" Grid.Column="2" Style="{StaticResource MaterialDesignSubtitle1TextBlock}" Margin="32 0 0 0">Validation</TextBlock>
273273
<StackPanel Orientation="Horizontal" Grid.Row="1" Grid.Column="2" Margin="32 0 0 0">
274-
<smtx:XamlDisplay Key="fields_22" HorizontalAlignment="Left">
274+
<smtx:XamlDisplay Key="fields_validation_1" Width="120">
275275
<TextBox Width="20"
276276
materialDesign:ValidationAssist.UsePopup="True"
277277
HorizontalAlignment="Left"
@@ -285,11 +285,11 @@
285285
</TextBox.Text>
286286
</TextBox>
287287
</smtx:XamlDisplay>
288-
<smtx:XamlDisplay Key="fields_30" HorizontalAlignment="Left">
288+
<smtx:XamlDisplay Key="fields_validation_2" Width="120">
289289
<TextBox Width="20"
290290
materialDesign:ValidationAssist.UsePopup="True"
291291
materialDesign:ValidationAssist.PopupPlacement="Left"
292-
HorizontalAlignment="Left"
292+
HorizontalAlignment="Right"
293293
ToolTip="Use a popup which can escape the bounds of the control where space is limited it can be placed in alternative positions">
294294
<TextBox.Text>
295295
<Binding Path="Name2" UpdateSourceTrigger="PropertyChanged">
@@ -300,6 +300,17 @@
300300
</TextBox.Text>
301301
</TextBox>
302302
</smtx:XamlDisplay>
303+
<smtx:XamlDisplay Key="fields_validation_3" Width="120">
304+
<TextBox materialDesign:ValidationAssist.HorizontalAlignment="Right">
305+
<TextBox.Text>
306+
<Binding Path="Name2" UpdateSourceTrigger="PropertyChanged">
307+
<Binding.ValidationRules>
308+
<domain1:NotEmptyValidationRule ValidatesOnTargetUpdated="True" />
309+
</Binding.ValidationRules>
310+
</Binding>
311+
</TextBox.Text>
312+
</TextBox>
313+
</smtx:XamlDisplay>
303314
</StackPanel>
304315
</Grid>
305316
</StackPanel>

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.ValidationErrorTemplate.xaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<TextBlock Foreground="{DynamicResource ValidationErrorBrush}"
1111
FontSize="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.FontSize)}"
1212
MaxWidth="{Binding ElementName=Placeholder, Path=ActualWidth}"
13-
HorizontalAlignment="Left"
13+
HorizontalAlignment="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.HorizontalAlignment)}"
1414
Margin="2"
1515
TextWrapping="Wrap"
1616
Text="{Binding ErrorContent}"
@@ -25,7 +25,7 @@
2525
<TextBlock Foreground="{DynamicResource ValidationErrorBrush}"
2626
FontSize="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.FontSize)}"
2727
MaxWidth="{Binding ElementName=Placeholder, Path=ActualWidth}"
28-
HorizontalAlignment="Left"
28+
HorizontalAlignment="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.HorizontalAlignment)}"
2929
Margin="0 2"
3030
TextWrapping="Wrap"
3131
Text="{Binding CurrentItem.ErrorContent}"
@@ -39,7 +39,7 @@
3939
<Border x:Name="PopupBorder" Background="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.Background)}">
4040
<TextBlock Foreground="{DynamicResource ValidationErrorBrush}"
4141
FontSize="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.FontSize)}"
42-
HorizontalAlignment="Left"
42+
HorizontalAlignment="{Binding ElementName=Placeholder, Path=AdornedElement.(wpf:ValidationAssist.HorizontalAlignment)}"
4343
Margin="0 2"
4444
TextWrapping="Wrap"
4545
Text="{Binding CurrentItem.ErrorContent}"

MaterialDesignThemes.Wpf/ValidationAssist.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System.Windows;
22
using System.Windows.Controls.Primitives;
3-
using System.Windows.Documents;
43
using System.Windows.Media;
54

65
namespace MaterialDesignThemes.Wpf
@@ -138,5 +137,11 @@ public static bool GetHasError(DependencyObject element)
138137
{
139138
return (bool)element.GetValue(HasErrorProperty);
140139
}
140+
141+
public static readonly DependencyProperty HorizontalAlignmentProperty = DependencyProperty.RegisterAttached(
142+
"HorizontalAlignment", typeof(HorizontalAlignment), typeof(ValidationAssist), new PropertyMetadata(HorizontalAlignment.Left));
143+
144+
public static void SetHorizontalAlignment(DependencyObject element, HorizontalAlignment value) => element.SetValue(HorizontalAlignmentProperty, value);
145+
public static HorizontalAlignment GetHorizontalAlignment(DependencyObject element) => (HorizontalAlignment) element.GetValue(HorizontalAlignmentProperty);
141146
}
142147
}

0 commit comments

Comments
 (0)