Skip to content

Commit 2ca5319

Browse files
committed
Move TextFieldAssist.Hint&HintOpacity into HintAssist
1 parent 4a3b681 commit 2ca5319

17 files changed

+151
-162
lines changed

MainDemo.Wpf/ColorZones.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
<Button Style="{DynamicResource MaterialDesignToolButton}">
5454
<materialDesign:PackIcon Kind="Magnify" Opacity=".56" />
5555
</Button>
56-
<TextBox Grid.Column="1" Margin="8 0 0 0" materialDesign:TextFieldAssist.Hint="Build a search bar"
56+
<TextBox Grid.Column="1" Margin="8 0 0 0" materialDesign:HintAssist.Hint="Build a search bar"
5757
materialDesign:TextFieldAssist.DecorationVisibility="Hidden" BorderThickness="0"
5858
MinWidth="200" VerticalAlignment="Center" />
5959
<Button Style="{DynamicResource MaterialDesignToolButton}" Grid.Column="2">

MainDemo.Wpf/Domain/Sample4Dialog.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<RowDefinition />
1111
<RowDefinition />
1212
</Grid.RowDefinitions>
13-
<TextBox wpf:TextFieldAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
13+
<TextBox wpf:HintAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
1414
Margin="0 6 0 0"
1515
FontSize="18" Grid.Row="0"
1616
/>

MainDemo.Wpf/Domain/SampleDialog.xaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<RowDefinition />
1818
</Grid.RowDefinitions>
1919
<TextBlock>New contact:</TextBlock>
20-
<TextBox wpf:TextFieldAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
20+
<TextBox wpf:HintAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
2121
Margin="0 6 0 0"
2222
FontSize="18" Grid.Row="1">
2323
<TextBox.Text>
@@ -28,7 +28,7 @@
2828
</Binding>
2929
</TextBox.Text>
3030
</TextBox>
31-
<TextBox wpf:TextFieldAssist.Hint="Number" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
31+
<TextBox wpf:HintAssist.Hint="Number" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
3232
Margin="0 8 0 0"
3333
FontSize="16" Grid.Row="2"
3434
/>

MainDemo.Wpf/IconPack.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
<materialDesign:PackIcon Kind="Magnify" Opacity=".56" />
6767
</Button>
6868
<TextBox Grid.Column="1" Margin="5 0 0 0" KeyDown="Search_OnKeyDown"
69-
materialDesign:TextFieldAssist.Hint="Search" x:Name="SearchBox"
69+
materialDesign:HintAssist.Hint="Search" x:Name="SearchBox"
7070
materialDesign:TextFieldAssist.DecorationVisibility="Hidden" BorderThickness="0"
7171
MinWidth="200" VerticalAlignment="Center" />
7272
</Grid>

MainDemo.Wpf/Pickers.xaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
</Grid.ColumnDefinitions>
2121
<TextBlock Grid.ColumnSpan="3">Classic WPF DatePicker control with Material Design theme, and new TimePicker control:</TextBlock>
2222
<StackPanel Grid.Row="1" Grid.Column="0">
23-
<DatePicker Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:TextFieldAssist.Hint="Pick Date" Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
24-
<DatePicker x:Name="FutureDatePicker" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:TextFieldAssist.Hint="Future Date" />
23+
<DatePicker Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:HintAssist.Hint="Pick Date" Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
24+
<DatePicker x:Name="FutureDatePicker" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:HintAssist.Hint="Future Date" />
2525
</StackPanel>
2626
<materialDesign:TimePicker Grid.Row="1" Grid.Column="1" VerticalAlignment="Top" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0"
2727
Style="{StaticResource MaterialDesignFloatingHintTimePicker}"
28-
materialDesign:TextFieldAssist.Hint="Custom hint" />
28+
materialDesign:HintAssist.Hint="Custom hint" />
2929
<materialDesign:TimePicker Grid.Row="1" Grid.Column="2" Is24Hours="True" x:Name="PresetTimePicker" VerticalAlignment="Top" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" />
3030

3131
<TextBlock Grid.Row="2" Grid.ColumnSpan="3" Margin="0 128 0 0">By combining the DialogHost (see MainWindow.xaml) and the Calendar and Clock controls, custom popups can be built.</TextBlock>

MainDemo.Wpf/TextFields.xaml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
<materialDesign:PackIcon Grid.Row="1" Grid.Column="0" Kind="Account" Foreground="{Binding ElementName=NameTextBox, Path=BorderBrush}" />
6969
<TextBox Grid.Row="1" Grid.Column="1"
7070
x:Name="NameTextBox"
71-
materialDesign:TextFieldAssist.Hint="Name">
71+
materialDesign:HintAssist.Hint="Name">
7272
<TextBox.Text>
7373
<Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
7474
<Binding.ValidationRules>
@@ -78,7 +78,7 @@
7878
</TextBox.Text>
7979
</TextBox>
8080
<TextBlock Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" Margin="16 0 8 0">OS</TextBlock>
81-
<ComboBox Grid.Row="1" Grid.Column="3" materialDesign:TextFieldAssist.Hint="OS">
81+
<ComboBox Grid.Row="1" Grid.Column="3" materialDesign:HintAssist.Hint="OS">
8282
<ComboBoxItem>Andoid</ComboBoxItem>
8383
<ComboBoxItem>iOS</ComboBoxItem>
8484
<ComboBoxItem>Linux</ComboBoxItem>
@@ -89,16 +89,16 @@
8989
MinWidth="280"
9090
AcceptsReturn="True"
9191
VerticalScrollBarVisibility="Auto"
92-
materialDesign:TextFieldAssist.Hint="Multiline text"
92+
materialDesign:HintAssist.Hint="Multiline text"
9393
Height="80">Multiline. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. The quick brown fox jumps over the lazy dog. War and peace. Keep going. Go on. For how long? Not long. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</TextBox>
9494
<materialDesign:PackIcon Grid.Row="2" Grid.Column="0" Kind="Phone" Foreground="{Binding ElementName=PhoneTextBox, Path=BorderBrush}" />
9595
<TextBox Grid.Row="2" Grid.Column="1"
9696
x:Name="PhoneTextBox"
9797
materialDesign:TransitionAssist.DisableTransitions="True"
9898
/>
9999
<TextBlock Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" Margin="16 0 8 0">Fruit</TextBlock>
100-
<ComboBox Grid.Row="2" Grid.Column="3" materialDesign:TextFieldAssist.Hint="Search"
101-
IsEditable="True" materialDesign:TextFieldAssist.HintOpacity=".26">
100+
<ComboBox Grid.Row="2" Grid.Column="3" materialDesign:HintAssist.Hint="Search"
101+
IsEditable="True" materialDesign:HintAssist.HintOpacity=".26">
102102
<ComboBoxItem>Apple</ComboBoxItem>
103103
<ComboBoxItem>Banana</ComboBoxItem>
104104
<ComboBoxItem>Pear</ComboBoxItem>
@@ -107,16 +107,16 @@
107107
<materialDesign:PackIcon Grid.Row="3" Grid.Column="0" Kind="Comment" Foreground="{Binding ElementName=CommentTextBox, Path=BorderBrush}" />
108108
<TextBox Grid.Row="3" Grid.Column="1"
109109
x:Name="CommentTextBox"
110-
materialDesign:TextFieldAssist.Hint="Comment"
110+
materialDesign:HintAssist.Hint="Comment"
111111
/>
112112
<materialDesign:PackIcon Grid.Row="3" Grid.Column="2" Kind="Key" Foreground="{Binding ElementName=PasswordBox, Path=BorderBrush}" HorizontalAlignment="Right" />
113113
<PasswordBox Grid.Row="3" Grid.Column="3"
114114
x:Name="PasswordBox"
115-
materialDesign:TextFieldAssist.Hint="Password" />
116-
<TextBox Grid.Row="4" Grid.Column="1" materialDesign:TextFieldAssist.Hint="Floating Hint"
115+
materialDesign:HintAssist.Hint="Password" />
116+
<TextBox Grid.Row="4" Grid.Column="1" materialDesign:HintAssist.Hint="Floating Hint"
117117
Style="{StaticResource MaterialDesignFloatingHintTextBox}"
118118
Margin="0 16 0 8"/>
119-
<ComboBox Grid.Row="4" Grid.Column="3" materialDesign:TextFieldAssist.Hint="OS" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
119+
<ComboBox Grid.Row="4" Grid.Column="3" materialDesign:HintAssist.Hint="OS" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
120120
Margin="0 16 0 8">
121121
<ComboBoxItem>Andoid</ComboBoxItem>
122122
<ComboBoxItem>iOS</ComboBoxItem>
@@ -127,7 +127,7 @@
127127
<StackPanel Grid.Row="3" Grid.Column="4" Grid.RowSpan="3" Margin="32 16 0 0">
128128
<TextBlock Style="{StaticResource MaterialDesignHeadlineTextBlock}">Virtualised Comboboxes</TextBlock>
129129
<StackPanel Orientation="Horizontal" Margin="0 12 0 0">
130-
<ComboBox materialDesign:TextFieldAssist.Hint="Virtualisation"
130+
<ComboBox materialDesign:HintAssist.Hint="Virtualisation"
131131
MinWidth="72"
132132
Margin="0 0 0 0"
133133
VerticalAlignment="Bottom"
@@ -139,7 +139,7 @@
139139
</ItemsPanelTemplate>
140140
</ComboBox.ItemsPanel>
141141
</ComboBox>
142-
<ComboBox materialDesign:TextFieldAssist.Hint="(editable)"
142+
<ComboBox materialDesign:HintAssist.Hint="(editable)"
143143
MinWidth="72"
144144
Margin="16 0 0 0"
145145
VerticalAlignment="Bottom"
@@ -151,7 +151,7 @@
151151
</ItemsPanelTemplate>
152152
</ComboBox.ItemsPanel>
153153
</ComboBox>
154-
<ComboBox materialDesign:TextFieldAssist.Hint="(float hint)"
154+
<ComboBox materialDesign:HintAssist.Hint="(float hint)"
155155
MinWidth="72"
156156
Margin="16 0 0 0"
157157
ItemsSource="{Binding LongListToTestComboVirtualization}"
@@ -165,9 +165,9 @@
165165
</StackPanel>
166166
</StackPanel>
167167

168-
<TextBox Grid.Row="5" Grid.Column="1" materialDesign:TextFieldAssist.Hint="Floating Hint" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="Good stuff"
168+
<TextBox Grid.Row="5" Grid.Column="1" materialDesign:HintAssist.Hint="Floating Hint" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="Good stuff"
169169
Margin="0 8 0 8"/>
170-
<ComboBox Grid.Row="5" Grid.Column="3" materialDesign:TextFieldAssist.Hint="Search" IsEditable="True" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
170+
<ComboBox Grid.Row="5" Grid.Column="3" materialDesign:HintAssist.Hint="Search" IsEditable="True" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
171171
Margin="0 8 0 8">
172172
<ComboBoxItem IsSelected="True">Apple</ComboBoxItem>
173173
<ComboBoxItem>Banana</ComboBoxItem>
@@ -181,7 +181,7 @@
181181
<PasswordBox Grid.Row="6" Grid.Column="1"
182182
x:Name="FloatingPasswordBox"
183183
Margin="0 12 0 0"
184-
materialDesign:TextFieldAssist.Hint="Floating Password"
184+
materialDesign:HintAssist.Hint="Floating Password"
185185
Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" />
186186

187187
<TextBlock Grid.Row="7" Grid.Column="1" Style="{StaticResource MaterialDesignSubheadingTextBlock}"
@@ -192,10 +192,10 @@
192192
<ContentControl.ContentTemplate>
193193
<DataTemplate DataType="domain:DemoItem">
194194
<StackPanel Orientation="Horizontal">
195-
<TextBox materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
196-
<TextBox materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
197-
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
198-
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
195+
<TextBox materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
196+
<TextBox materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
197+
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
198+
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
199199
</StackPanel>
200200
</DataTemplate>
201201
</ContentControl.ContentTemplate>
@@ -210,10 +210,10 @@
210210
<domain1:SimpleDataTemplateSelector.FixedTemplate>
211211
<DataTemplate DataType="domain:DemoItem">
212212
<StackPanel Orientation="Horizontal">
213-
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
214-
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
215-
<TextBox materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
216-
<TextBox materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
213+
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
214+
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
215+
<TextBox materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
216+
<TextBox materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
217217
</StackPanel>
218218
</DataTemplate>
219219
</domain1:SimpleDataTemplateSelector.FixedTemplate>

MaterialDesignThemes.Wpf/HintAssist.cs

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ namespace MaterialDesignThemes.Wpf
44
{
55
public static class HintAssist
66
{
7+
#region UseFloating
8+
79
public static readonly DependencyProperty UseFloatingProperty = DependencyProperty.RegisterAttached(
810
"UseFloating",
911
typeof(bool),
@@ -19,5 +21,77 @@ public static void SetUseFloating(DependencyObject element, bool value)
1921
{
2022
element.SetValue(UseFloatingProperty, value);
2123
}
24+
25+
#endregion
26+
27+
#region Hint
28+
29+
/// <summary>
30+
/// The hint property
31+
/// </summary>
32+
public static readonly DependencyProperty HintProperty = DependencyProperty.RegisterAttached(
33+
"Hint",
34+
typeof(string),
35+
typeof(HintAssist),
36+
new FrameworkPropertyMetadata(default(string), FrameworkPropertyMetadataOptions.Inherits));
37+
38+
/// <summary>
39+
/// Sets the hint.
40+
/// </summary>
41+
/// <param name="element">The element.</param>
42+
/// <param name="value">The value.</param>
43+
public static void SetHint(DependencyObject element, string value)
44+
{
45+
element.SetValue(HintProperty, value);
46+
}
47+
48+
/// <summary>
49+
/// Gets the hint.
50+
/// </summary>
51+
/// <param name="element">The element.</param>
52+
/// <returns>
53+
/// The <see cref="string" />.
54+
/// </returns>
55+
public static string GetHint(DependencyObject element)
56+
{
57+
return (string)element.GetValue(HintProperty);
58+
}
59+
60+
#endregion
61+
62+
#region HintOpacity
63+
64+
/// <summary>
65+
/// The hint opacity property
66+
/// </summary>
67+
public static readonly DependencyProperty HintOpacityProperty = DependencyProperty.RegisterAttached(
68+
"HintOpacity",
69+
typeof(double),
70+
typeof(HintAssist),
71+
new PropertyMetadata(.56));
72+
73+
/// <summary>
74+
/// Gets the text box view margin.
75+
/// </summary>
76+
/// <param name="element">The element.</param>
77+
/// <returns>
78+
/// The <see cref="Thickness" />.
79+
/// </returns>
80+
public static double GetHintOpacityProperty(DependencyObject element)
81+
{
82+
return (double)element.GetValue(HintOpacityProperty);
83+
}
84+
85+
/// <summary>
86+
/// Sets the hint opacity.
87+
/// </summary>
88+
/// <param name="element">The element.</param>
89+
/// <param name="value">The value.</param>
90+
public static void SetHintOpacity(DependencyObject element, double value)
91+
{
92+
element.SetValue(HintOpacityProperty, value);
93+
}
94+
95+
#endregion
2296
}
2397
}

MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@
268268
<Compile Include="Icon.cs" />
269269
<Compile Include="IconType.cs" />
270270
<Compile Include="Transitions\CircleWipe.cs" />
271+
<Compile Include="IHintProxy.cs" />
271272
<Compile Include="Transitions\IndexedItemOffsetMultiplierExtension.cs" />
272273
<Compile Include="Transitions\ITransitionEffect.cs" />
273274
<Compile Include="Transitions\ITransitionEffectSubject.cs" />
@@ -281,7 +282,6 @@
281282
<Compile Include="PackIconKind.cs" />
282283
<Compile Include="PopupBox.cs" />
283284
<Compile Include="PaletteHelper.cs" />
284-
<Compile Include="PasswordFieldAssist.cs" />
285285
<Compile Include="Properties\AssemblyInfo.cs">
286286
<SubType>Code</SubType>
287287
</Compile>

MaterialDesignThemes.Wpf/PasswordFieldAssist.cs

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)