Skip to content

Commit

Permalink
Merge branch 'master' into FishNChips
Browse files Browse the repository at this point in the history
  • Loading branch information
ButchersBoy committed Apr 8, 2016
2 parents 03e5fd8 + 6390677 commit 2cd22c6
Show file tree
Hide file tree
Showing 30 changed files with 953 additions and 897 deletions.
4 changes: 2 additions & 2 deletions MahMaterialDragablzMashUp/FlyoutContent.xaml
Expand Up @@ -15,7 +15,7 @@
</ResourceDictionary>
</UserControl.Resources>
<StackPanel Margin="24">
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" FontSize="18" wpf:TextFieldAssist.Hint="Your Name" MinWidth="120" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" wpf:TextFieldAssist.Hint="Location" MinWidth="120" Margin="0 8 0 0" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" FontSize="18" MinWidth="120" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" MinWidth="120" Margin="0 8 0 0" />
</StackPanel>
</UserControl>
2 changes: 1 addition & 1 deletion MainDemo.Wpf/ColorZones.xaml
Expand Up @@ -53,7 +53,7 @@
<Button Style="{DynamicResource MaterialDesignToolButton}">
<materialDesign:PackIcon Kind="Magnify" Opacity=".56" />
</Button>
<TextBox Grid.Column="1" Margin="8 0 0 0" materialDesign:TextFieldAssist.Hint="Build a search bar"
<TextBox Grid.Column="1" Margin="8 0 0 0" materialDesign:HintAssist.Hint="Build a search bar"
materialDesign:TextFieldAssist.DecorationVisibility="Hidden" BorderThickness="0"
MinWidth="200" VerticalAlignment="Center" />
<Button Style="{DynamicResource MaterialDesignToolButton}" Grid.Column="2">
Expand Down
2 changes: 1 addition & 1 deletion MainDemo.Wpf/Domain/Sample4Dialog.xaml
Expand Up @@ -10,7 +10,7 @@
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBox wpf:TextFieldAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
<TextBox wpf:HintAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
Margin="0 6 0 0"
FontSize="18" Grid.Row="0"
/>
Expand Down
4 changes: 2 additions & 2 deletions MainDemo.Wpf/Domain/SampleDialog.xaml
Expand Up @@ -17,7 +17,7 @@
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock>New contact:</TextBlock>
<TextBox wpf:TextFieldAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
<TextBox wpf:HintAssist.Hint="Name" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
Margin="0 6 0 0"
FontSize="18" Grid.Row="1">
<TextBox.Text>
Expand All @@ -28,7 +28,7 @@
</Binding>
</TextBox.Text>
</TextBox>
<TextBox wpf:TextFieldAssist.Hint="Number" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
<TextBox wpf:HintAssist.Hint="Number" Style="{DynamicResource MaterialDesignFloatingHintTextBox}"
Margin="0 8 0 0"
FontSize="16" Grid.Row="2"
/>
Expand Down
2 changes: 1 addition & 1 deletion MainDemo.Wpf/IconPack.xaml
Expand Up @@ -66,7 +66,7 @@
<materialDesign:PackIcon Kind="Magnify" Opacity=".56" />
</Button>
<TextBox Grid.Column="1" Margin="5 0 0 0" KeyDown="Search_OnKeyDown"
materialDesign:TextFieldAssist.Hint="Search" x:Name="SearchBox"
materialDesign:HintAssist.Hint="Search" x:Name="SearchBox"
materialDesign:TextFieldAssist.DecorationVisibility="Hidden" BorderThickness="0"
MinWidth="200" VerticalAlignment="Center" />
</Grid>
Expand Down
7 changes: 4 additions & 3 deletions MainDemo.Wpf/Pickers.xaml
Expand Up @@ -20,11 +20,12 @@
</Grid.ColumnDefinitions>
<TextBlock Grid.ColumnSpan="3">Classic WPF DatePicker control with Material Design theme, and new TimePicker control:</TextBlock>
<StackPanel Grid.Row="1" Grid.Column="0">
<DatePicker Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:TextFieldAssist.Hint="Pick Date" />
<DatePicker x:Name="FutureDatePicker" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:TextFieldAssist.Hint="Future Date" />
<DatePicker Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:HintAssist.Hint="Pick Date" Style="{StaticResource MaterialDesignFloatingHintDatePicker}" />
<DatePicker x:Name="FutureDatePicker" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" materialDesign:HintAssist.Hint="Future Date" />
</StackPanel>
<materialDesign:TimePicker Grid.Row="1" Grid.Column="1" VerticalAlignment="Top" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0"
materialDesign:TextFieldAssist.Hint="Custom hint" />
Style="{StaticResource MaterialDesignFloatingHintTimePicker}"
materialDesign:HintAssist.Hint="Custom hint" />
<materialDesign:TimePicker Grid.Row="1" Grid.Column="2" Is24Hours="True" x:Name="PresetTimePicker" VerticalAlignment="Top" Width="100" HorizontalAlignment="Left" Margin="0 16 0 0" />

<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>
Expand Down
73 changes: 42 additions & 31 deletions MainDemo.Wpf/TextFields.xaml
Expand Up @@ -68,7 +68,7 @@
<materialDesign:PackIcon Grid.Row="1" Grid.Column="0" Kind="Account" Foreground="{Binding ElementName=NameTextBox, Path=BorderBrush}" />
<TextBox Grid.Row="1" Grid.Column="1"
x:Name="NameTextBox"
materialDesign:TextFieldAssist.Hint="Name">
materialDesign:HintAssist.Hint="Name">
<TextBox.Text>
<Binding Path="Name" UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
Expand All @@ -78,7 +78,7 @@
</TextBox.Text>
</TextBox>
<TextBlock Grid.Row="1" Grid.Column="2" VerticalAlignment="Center" Margin="16 0 8 0">OS</TextBlock>
<ComboBox Grid.Row="1" Grid.Column="3" materialDesign:TextFieldAssist.Hint="OS">
<ComboBox Grid.Row="1" Grid.Column="3" materialDesign:HintAssist.Hint="OS">
<ComboBoxItem>Andoid</ComboBoxItem>
<ComboBoxItem>iOS</ComboBoxItem>
<ComboBoxItem>Linux</ComboBoxItem>
Expand All @@ -89,16 +89,16 @@
MinWidth="280"
AcceptsReturn="True"
VerticalScrollBarVisibility="Auto"
materialDesign:TextFieldAssist.Hint="Multiline text"
materialDesign:HintAssist.Hint="Multiline text"
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>
<materialDesign:PackIcon Grid.Row="2" Grid.Column="0" Kind="Phone" Foreground="{Binding ElementName=PhoneTextBox, Path=BorderBrush}" />
<TextBox Grid.Row="2" Grid.Column="1"
x:Name="PhoneTextBox"
materialDesign:TransitionAssist.DisableTransitions="True"
/>
<TextBlock Grid.Row="2" Grid.Column="2" VerticalAlignment="Center" Margin="16 0 8 0">Fruit</TextBlock>
<ComboBox Grid.Row="2" Grid.Column="3" materialDesign:TextFieldAssist.Hint="Search"
IsEditable="True" materialDesign:TextFieldAssist.HintOpacity=".26">
<ComboBox Grid.Row="2" Grid.Column="3" materialDesign:HintAssist.Hint="Search"
IsEditable="True" materialDesign:HintAssist.HintOpacity=".26">
<ComboBoxItem>Apple</ComboBoxItem>
<ComboBoxItem>Banana</ComboBoxItem>
<ComboBoxItem>Pear</ComboBoxItem>
Expand All @@ -107,17 +107,17 @@
<materialDesign:PackIcon Grid.Row="3" Grid.Column="0" Kind="Comment" Foreground="{Binding ElementName=CommentTextBox, Path=BorderBrush}" />
<TextBox Grid.Row="3" Grid.Column="1"
x:Name="CommentTextBox"
materialDesign:TextFieldAssist.Hint="Comment"
materialDesign:HintAssist.Hint="Comment"
/>
<materialDesign:PackIcon Grid.Row="3" Grid.Column="2" Kind="Key" Foreground="{Binding ElementName=PasswordBox, Path=BorderBrush}" HorizontalAlignment="Right" />
<PasswordBox Grid.Row="3" Grid.Column="3"
x:Name="PasswordBox"
materialDesign:TextFieldAssist.Hint="Password" />
<TextBox Grid.Row="4" Grid.Column="1" materialDesign:TextFieldAssist.Hint="Floating Hint"
materialDesign:HintAssist.Hint="Password" />
<TextBox Grid.Row="4" Grid.Column="1" materialDesign:HintAssist.Hint="Floating Hint"
Style="{StaticResource MaterialDesignFloatingHintTextBox}"
Margin="0 8 0 8"/>
<ComboBox Grid.Row="4" Grid.Column="3" materialDesign:TextFieldAssist.Hint="OS" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
Margin="0 8 0 8">
Margin="0 16 0 8"/>
<ComboBox Grid.Row="4" Grid.Column="3" materialDesign:HintAssist.Hint="OS" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
Margin="0 16 0 8">
<ComboBoxItem>Andoid</ComboBoxItem>
<ComboBoxItem>iOS</ComboBoxItem>
<ComboBoxItem>Linux</ComboBoxItem>
Expand All @@ -126,8 +126,8 @@

<StackPanel Grid.Row="3" Grid.Column="4" Grid.RowSpan="3" Margin="32 16 0 0">
<TextBlock Style="{StaticResource MaterialDesignHeadlineTextBlock}">Virtualised Comboboxes</TextBlock>
<StackPanel Orientation="Horizontal" Margin="0 2 0 0">
<ComboBox materialDesign:TextFieldAssist.Hint="Virtualisation"
<StackPanel Orientation="Horizontal" Margin="0 12 0 0">
<ComboBox materialDesign:HintAssist.Hint="Virtualisation"
MinWidth="72"
Margin="0 0 0 0"
VerticalAlignment="Bottom"
Expand All @@ -139,7 +139,7 @@
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
<ComboBox materialDesign:TextFieldAssist.Hint="(editable)"
<ComboBox materialDesign:HintAssist.Hint="(editable)"
MinWidth="72"
Margin="16 0 0 0"
VerticalAlignment="Bottom"
Expand All @@ -151,7 +151,7 @@
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
</ComboBox>
<ComboBox materialDesign:TextFieldAssist.Hint="(float hint)"
<ComboBox materialDesign:HintAssist.Hint="(float hint)"
MinWidth="72"
Margin="16 0 0 0"
ItemsSource="{Binding LongListToTestComboVirtualization}"
Expand All @@ -165,33 +165,44 @@
</StackPanel>
</StackPanel>

<TextBox Grid.Row="5" Grid.Column="1" materialDesign:TextFieldAssist.Hint="Floating Hint" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="Good stuff"
Margin="0 8 0 8"/>
<ComboBox Grid.Row="5" Grid.Column="3" materialDesign:TextFieldAssist.Hint="Search" IsEditable="True" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
<TextBox Grid.Row="5" Grid.Column="1" Style="{StaticResource MaterialDesignFloatingHintTextBox}" Text="Good stuff"
Margin="0 8 0 8">
<materialDesign:HintAssist.Hint>
<StackPanel Orientation="Horizontal" Margin="-2 0 0 0">
<materialDesign:PackIcon Kind="AccessPoint" />
<TextBlock>WiFi</TextBlock>
</StackPanel>
</materialDesign:HintAssist.Hint>
</TextBox>
<ComboBox Grid.Row="5" Grid.Column="3" materialDesign:HintAssist.Hint="Search" IsEditable="True" Style="{StaticResource MaterialDesignFloatingHintComboBox}"
Margin="0 8 0 8">
<ComboBoxItem IsSelected="True">Apple</ComboBoxItem>
<ComboBoxItem>Banana</ComboBoxItem>
<ComboBoxItem>Pear</ComboBoxItem>
<ComboBoxItem>Orange</ComboBoxItem>
</ComboBox>

<materialDesign:PackIcon Grid.Row="6" Grid.Column="0" Kind="Key" Foreground="{Binding ElementName=FloatingPasswordBox, Path=BorderBrush}" />
<materialDesign:PackIcon Grid.Row="6" Grid.Column="0" Kind="Key"
Margin="0 12 0 0"
Foreground="{Binding ElementName=FloatingPasswordBox, Path=BorderBrush}" />
<PasswordBox Grid.Row="6" Grid.Column="1"
x:Name="FloatingPasswordBox"
materialDesign:TextFieldAssist.Hint="Floating Password" Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" />
x:Name="FloatingPasswordBox"
Margin="0 12 0 0"
materialDesign:HintAssist.Hint="Floating Password"
Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" />

<TextBlock Grid.Row="7" Grid.Column="1" Style="{StaticResource MaterialDesignSubheadingTextBlock}"
Margin="0 48 0 0">DataTemplate Test</TextBlock>
<ContentControl Grid.Row="8" Grid.Column="1" Grid.ColumnSpan="4"
Content="{Binding DemoItem}"
Margin="0 4 0 0">
Margin="0 12 0 0">
<ContentControl.ContentTemplate>
<DataTemplate DataType="domain:DemoItem">
<StackPanel Orientation="Horizontal">
<TextBox materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
</StackPanel>
</DataTemplate>
</ContentControl.ContentTemplate>
Expand All @@ -200,16 +211,16 @@
Margin="0 16 0 0">DataTemplateSelector Test</TextBlock>
<ContentControl Grid.Row="10" Grid.Column="1" Grid.ColumnSpan="4"
Content="{Binding DemoItem}"
Margin="0 4 0 0">
Margin="0 12 0 0">
<ContentControl.ContentTemplateSelector>
<domain1:SimpleDataTemplateSelector>
<domain1:SimpleDataTemplateSelector.FixedTemplate>
<DataTemplate DataType="domain:DemoItem">
<StackPanel Orientation="Horizontal">
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:TextFieldAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:TextFieldAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="0 0 0 0" VerticalAlignment="Bottom" />
<TextBox Style="{StaticResource MaterialDesignFloatingHintTextBox}" materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:HintAssist.Hint="Name" Text="{Binding Name}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
<TextBox materialDesign:HintAssist.Hint="Content" Text="{Binding Content}" Margin="8 0 0 0" VerticalAlignment="Bottom" />
</StackPanel>
</DataTemplate>
</domain1:SimpleDataTemplateSelector.FixedTemplate>
Expand Down
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Data;

namespace MaterialDesignThemes.Wpf.Converters
{
public class BooleanToVisibilityConverter : IValueConverter
{
public Visibility TrueValue { get; set; } = Visibility.Visible;
public Visibility FalseValue { get; set; } = Visibility.Collapsed;

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool bValue = false;
if (value is bool)
{
bValue = (bool)value;
}

return (bValue) ? TrueValue : FalseValue;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return value as Visibility? == TrueValue;
}
}
}
33 changes: 33 additions & 0 deletions MaterialDesignThemes.Wpf/Converters/HintProxyFabricConverter.cs
@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;

namespace MaterialDesignThemes.Wpf.Converters
{
/// <summary>
/// Converter for <see cref="SmartHint"/> control. Can be extended by <see cref="HintProxyFabric.RegisterBuilder(Func{Control, bool}, Func{Control, IHintProxy})"/> method.
/// </summary>
public class HintProxyFabricConverter : IValueConverter
{
private static readonly Lazy<HintProxyFabricConverter> _instance = new Lazy<HintProxyFabricConverter>();

public static HintProxyFabricConverter Instance => _instance.Value;

public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return HintProxyFabric.Get(value as Control);
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return Binding.DoNothing;
}
}
}

0 comments on commit 2cd22c6

Please sign in to comment.