Skip to content

Commit 331ec1b

Browse files
committed
Merged branch master into master
2 parents 4c2ce28 + eda71e1 commit 331ec1b

20 files changed

+549
-168
lines changed

License renamed to LICENSE

File renamed without changes.

MainDemo.Wpf/Buttons.xaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
<CheckBox Grid.Column="1" Grid.Row="2" IsChecked="True" VerticalAlignment="Bottom" />
120120
<CheckBox Grid.Column="1" Grid.Row="3" VerticalAlignment="Bottom" />
121121
<ComboBox Grid.Column="0" Grid.Row="4" materialDesign:HintAssist.Hint="Setting 4" materialDesign:HintAssist.IsFloating="True"
122+
MaxDropDownHeight="200"
122123
Margin="8 8 8 8">
123124
<ComboBoxItem>25%</ComboBoxItem>
124125
<ComboBoxItem>50%</ComboBoxItem>
@@ -127,7 +128,7 @@
127128
<ComboBoxItem>150%</ComboBoxItem>
128129
<ComboBoxItem>200%</ComboBoxItem>
129130
<ComboBoxItem>250%</ComboBoxItem>
130-
<ComboBoxItem>500%</ComboBoxItem>
131+
<ComboBoxItem>501%</ComboBoxItem>
131132
</ComboBox>
132133
</Grid>
133134

MainDemo.Wpf/Expander.xaml

Lines changed: 121 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,139 @@
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
44
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
5-
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6-
xmlns:local="clr-namespace:MaterialDesignColors.WpfExample"
5+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6+
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
77
mc:Ignorable="d"
88
d:DesignHeight="400" d:DesignWidth="600">
99
<Grid>
10+
<Grid.RowDefinitions>
11+
<RowDefinition Height="Auto" />
12+
<RowDefinition Height="Auto" />
13+
</Grid.RowDefinitions>
1014
<Grid.ColumnDefinitions>
11-
<ColumnDefinition Width="50*" />
12-
<ColumnDefinition Width="50*" />
15+
<ColumnDefinition Width="1*" />
16+
<ColumnDefinition Width="1*" />
1317
</Grid.ColumnDefinitions>
14-
<StackPanel HorizontalAlignment="Stretch" Margin="8" Orientation="Vertical" VerticalAlignment="Stretch">
15-
<Expander IsExpanded="True" HorizontalAlignment="Stretch">
16-
<Expander.Header>
17-
<TextBlock Text="Expander Example 1" />
18-
</Expander.Header>
19-
<Border Background="{DynamicResource MaterialDesignBody}"
20-
CornerRadius="5" Padding="5">
18+
<StackPanel>
19+
<Expander HorizontalAlignment="Stretch"
20+
Header="Expander Example 1a">
21+
<StackPanel Orientation="Vertical"
22+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
23+
Margin="16">
24+
<TextBlock Text="Your Content" />
25+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
26+
TextWrapping="Wrap"/>
27+
</StackPanel>
28+
</Expander>
29+
<Expander HorizontalAlignment="Stretch"
30+
Header="Expander Example 1b">
31+
<StackPanel Orientation="Vertical"
32+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
33+
Margin="16">
34+
<TextBlock Text="Your Content" />
35+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
36+
TextWrapping="Wrap"/>
37+
</StackPanel>
38+
</Expander>
39+
<Expander HorizontalAlignment="Stretch"
40+
Header="Expander Example 1c">
41+
<StackPanel Orientation="Vertical"
42+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
43+
Margin="16">
44+
<TextBlock Text="Your Content" />
45+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
46+
TextWrapping="Wrap"/>
47+
</StackPanel>
48+
</Expander>
49+
</StackPanel>
50+
<materialDesign:Card Grid.Row="1" Background="{DynamicResource MaterialDesignBackground}"
51+
Margin="0 24 0 0">
52+
<StackPanel>
53+
<Expander HorizontalAlignment="Stretch"
54+
Header="Expander Example 2a">
55+
<StackPanel Orientation="Vertical"
56+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
57+
Margin="16">
58+
<TextBlock Text="Your Content" />
59+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
60+
TextWrapping="Wrap"/>
61+
</StackPanel>
62+
</Expander>
63+
<Expander HorizontalAlignment="Stretch"
64+
Header="Expander Example 2b">
2165
<StackPanel Orientation="Vertical"
22-
TextBlock.Foreground="{DynamicResource MaterialDesignPaper}">
23-
<TextBlock Text="A short text to proof functionality." />
24-
<TextBlock Margin="0,50,0,0" Text="A short text to proof functionality." />
66+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
67+
Margin="16">
68+
<TextBlock Text="Your Content" />
69+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
70+
TextWrapping="Wrap"/>
2571
</StackPanel>
26-
</Border>
72+
</Expander>
73+
<Expander HorizontalAlignment="Stretch"
74+
Header="Expander Example 2c">
75+
<StackPanel Orientation="Vertical"
76+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
77+
Margin="16">
78+
<TextBlock Text="Your Content" />
79+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
80+
TextWrapping="Wrap"/>
81+
</StackPanel>
82+
</Expander>
83+
</StackPanel>
84+
</materialDesign:Card>
85+
<StackPanel Grid.Column="1" HorizontalAlignment="Left" Margin="8" Orientation="Horizontal" VerticalAlignment="Stretch"
86+
Grid.RowSpan="2">
87+
<Expander ExpandDirection="Right">
88+
<Expander.Header>
89+
<TextBlock Text="Expander Example 3a" RenderTransformOrigin=".5,.5">
90+
<TextBlock.LayoutTransform>
91+
<RotateTransform Angle="90" />
92+
</TextBlock.LayoutTransform>
93+
</TextBlock>
94+
</Expander.Header>
95+
<StackPanel Orientation="Vertical"
96+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
97+
Margin="16">
98+
<TextBlock Text="Your Content" />
99+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
100+
MaxWidth="180"
101+
TextWrapping="Wrap"/>
102+
</StackPanel>
27103
</Expander>
28-
<TextBlock Text="Text after the expander." Margin="0,8,0,0" />
29-
</StackPanel>
30-
<StackPanel Grid.Column="1" HorizontalAlignment="Stretch" Margin="8" Orientation="Vertical" VerticalAlignment="Stretch">
31-
<Expander IsExpanded="False" HorizontalAlignment="Stretch">
104+
<Expander ExpandDirection="Right">
105+
<Expander.Header>
106+
<TextBlock Text="Expander Example 3b" RenderTransformOrigin=".5,.5">
107+
<TextBlock.LayoutTransform>
108+
<RotateTransform Angle="90" />
109+
</TextBlock.LayoutTransform>
110+
</TextBlock>
111+
</Expander.Header>
112+
<StackPanel Orientation="Vertical"
113+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
114+
Margin="16">
115+
<TextBlock Text="Your Content" />
116+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
117+
MaxWidth="180"
118+
TextWrapping="Wrap"/>
119+
</StackPanel>
120+
</Expander>
121+
<Expander ExpandDirection="Right">
32122
<Expander.Header>
33-
<TextBlock Text="Expander Example 2" />
123+
<TextBlock Text="Expander Example 3c" RenderTransformOrigin=".5,.5">
124+
<TextBlock.LayoutTransform>
125+
<RotateTransform Angle="90" />
126+
</TextBlock.LayoutTransform>
127+
</TextBlock>
34128
</Expander.Header>
35-
<StackPanel Orientation="Vertical" Margin="8">
36-
<TextBlock Text="A short text to proof functionality." />
37-
<TextBlock Margin="0,150,0,0" Text="A short text to proof functionality." />
129+
<StackPanel Orientation="Vertical"
130+
TextBlock.Foreground="{DynamicResource MaterialDesignBody}"
131+
Margin="16">
132+
<TextBlock Text="Your Content" />
133+
<TextBlock Opacity=".68" Text="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
134+
MaxWidth="180"
135+
TextWrapping="Wrap"/>
38136
</StackPanel>
39137
</Expander>
40-
<TextBlock Text="Text after the expander." Margin="0,8,0,0" />
41138
</StackPanel>
42139
</Grid>
43140
</UserControl>

MainDemo.Wpf/MainWindow.xaml.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Windows.Controls;
33
using System.Windows.Controls.Primitives;
44
using System.Windows.Input;
5+
using System.Windows.Media;
56
using MaterialDesignColors.WpfExample.Domain;
67
using MaterialDesignThemes.Wpf;
78

@@ -19,6 +20,14 @@ public MainWindow()
1920

2021
private void UIElement_OnPreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
2122
{
23+
//until we had a StaysOpen glag to Drawer, this will help with scroll bars
24+
var dependencyObject = Mouse.Captured as DependencyObject;
25+
while (dependencyObject != null)
26+
{
27+
if (dependencyObject is ScrollBar) return;
28+
dependencyObject = VisualTreeHelper.GetParent(dependencyObject);
29+
}
30+
2231
MenuToggleButton.IsChecked = false;
2332
}
2433

MainDemo.Wpf/ProvingGround.xaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@
6060
</ListBox>
6161

6262
<CheckBox IsChecked="{Binding ElementName=UnderlineCheckbox, Path=IsSelected}">Underline?</CheckBox>
63+
64+
<materialDesign:TimePicker Margin="0 16 0 0" SelectedTime="{Binding SelectedTime}" HorizontalAlignment="Left" />
6365

6466
</StackPanel>
6567

MainDemo.Wpf/ProvingGround.xaml.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ public partial class ProvingGround : UserControl
2828
public ProvingGround()
2929
{
3030
InitializeComponent();
31-
DataContext = new ProvingGroundViewModel();
31+
DataContext = new ProvingGroundViewModel
32+
{
33+
SelectedTime = new DateTime(2000, 1, 1, 3, 15, 0)
34+
};
3235
}
3336

3437
private void Button_Click(object sender, RoutedEventArgs e)

MainDemo.Wpf/TextFields.xaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,15 @@
202202
materialDesign:HintAssist.Hint="Floating Password"
203203
Style="{StaticResource MaterialDesignFloatingHintPasswordBox}" />
204204

205+
<TextBox Grid.Row="6" Grid.Column="3"
206+
materialDesign:HintAssist.Hint="Large Font"
207+
materialDesign:TextFieldAssist.TextBoxViewMargin="1 0 1 0"
208+
materialDesign:HintAssist.FloatingScale="0.54"
209+
materialDesign:HintAssist.FloatingOffset="1,-54"
210+
Text="Some Text"
211+
Style="{StaticResource MaterialDesignFloatingHintTextBox}"
212+
FontSize="24"/>
213+
205214
<TextBlock Grid.Row="7" Grid.Column="1" Style="{StaticResource MaterialDesignSubheadingTextBlock}"
206215
Margin="0 48 0 0">DataTemplate Test</TextBlock>
207216
<ContentControl Grid.Row="8" Grid.Column="1" Grid.ColumnSpan="4"

MaterialDesignThemes.Wpf/Converters/MathMultipleConverter.cs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,25 @@ public sealed class MathMultipleConverter : IMultiValueConverter
1515

1616
public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture)
1717
{
18+
if (value == null || value.Length < 2 || value[0] == null || value[1] == null) return Binding.DoNothing;
19+
1820
double value1, value2;
19-
if (Double.TryParse(value[0].ToString(), out value1) && Double.TryParse(value[1].ToString(), out value2))
21+
if (!double.TryParse(value[0].ToString(), out value1) || !double.TryParse(value[1].ToString(), out value2))
22+
return Binding.DoNothing;
23+
24+
switch (Operation)
2025
{
21-
switch (Operation)
22-
{
23-
default:
24-
case MathOperation.Add:
25-
return value1 + value2;
26-
case MathOperation.Divide:
27-
return value1 / value2;
28-
case MathOperation.Multiply:
29-
return value1 * value2;
30-
case MathOperation.Subtract:
31-
return value1 - value2;
32-
}
26+
default:
27+
// (case MathOperation.Add:)
28+
return value1 + value2;
29+
case MathOperation.Divide:
30+
return value1 / value2;
31+
case MathOperation.Multiply:
32+
return value1 * value2;
33+
case MathOperation.Subtract:
34+
return value1 - value2;
3335
}
34-
35-
return Binding.DoNothing;
36+
3637
}
3738

3839
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Globalization;
4+
using System.Linq;
5+
using System.Text;
6+
using System.Threading.Tasks;
7+
using System.Windows.Data;
8+
9+
namespace MaterialDesignThemes.Wpf.Converters
10+
{
11+
public class RangePositionConverter : IMultiValueConverter
12+
{
13+
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
14+
{
15+
if(values == null || values.Length != 3 || values[0] == null || values[1] == null || values[2] == null)
16+
return Binding.DoNothing;
17+
18+
double positionAsScaleFactor, lower, upper;
19+
if (!double.TryParse(values[0].ToString(), out positionAsScaleFactor)
20+
|| !double.TryParse(values[1].ToString(), out lower)
21+
|| !double.TryParse(values[2].ToString(), out upper))
22+
23+
return Binding.DoNothing;
24+
25+
var result = upper + (lower - upper)*positionAsScaleFactor;
26+
27+
return result;
28+
}
29+
30+
public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
31+
{
32+
throw new NotImplementedException();
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)