Skip to content

Commit bfb5c9f

Browse files
committed
Add badges into demo
1 parent c47fd67 commit bfb5c9f

File tree

7 files changed

+93
-24
lines changed

7 files changed

+93
-24
lines changed

MainDemo.Wpf/App.xaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Application x:Class="MaterialDesignColors.WpfExample.App"
22
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
33
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4-
StartupUri="ProvingGround.xaml">
4+
StartupUri="MainWindow.xaml">
55
<Application.Resources>
66
<ResourceDictionary>
77
<ResourceDictionary.MergedDictionaries>

MainDemo.Wpf/Buttons.xaml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -152,23 +152,40 @@
152152
</materialDesign:PopupBox>
153153
</StackPanel>
154154
</Grid>
155-
<StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0 16 0 0">
156-
<Button Style="{StaticResource MaterialDesignRaisedLightButton}" Margin="0 0 8 0" Width="100"
155+
<StackPanel Grid.Row="2" Orientation="Horizontal" Margin="0 20 0 0">
156+
<Button Style="{StaticResource MaterialDesignRaisedLightButton}" Margin="0 12 8 0" Width="100"
157157
ToolTip="Resource name: MaterialDesignRaisedLightButton">
158158
_LIGHT
159159
</Button>
160-
<Button Style="{StaticResource MaterialDesignRaisedButton}" Margin="0 0 8 0" Width="100"
160+
<Button Style="{StaticResource MaterialDesignRaisedButton}" Margin="0 12 8 0" Width="100"
161161
ToolTip="Resource name: MaterialDesignRaisedButton">
162162
_MID
163163
</Button>
164-
<Button Style="{StaticResource MaterialDesignRaisedDarkButton}" Margin="0 0 8 0" Width="100"
164+
<Button Style="{StaticResource MaterialDesignRaisedDarkButton}" Margin="0 12 8 0" Width="100"
165165
ToolTip="Resource name: MaterialDesignRaisedLightDarkButton">
166166
_DARK
167167
</Button>
168-
<Button Style="{StaticResource MaterialDesignRaisedAccentButton}" Margin="0 0 8 0" Width="100"
168+
<Button Style="{StaticResource MaterialDesignRaisedAccentButton}" Margin="0 12 16 0" Width="100"
169169
ToolTip="Resource name: MaterialDesignRaisedAccentButton">
170170
ACCENT
171171
</Button>
172+
<materialDesign:Badged Margin="0 12 16 4" Badge="3">
173+
<Button>MAIL</Button>
174+
</materialDesign:Badged>
175+
176+
<materialDesign:Badged Margin="0 12 16 4" Badge="{materialDesign:PackIcon Heart}"
177+
BadgeColorZoneMode="Accent">
178+
<Button>LOVE</Button>
179+
</materialDesign:Badged>
180+
181+
<materialDesign:Badged Margin="0 12 28 4" Badge="DANGER"
182+
BadgeColorZoneMode="Dark">
183+
<Button>STATUS</Button>
184+
</materialDesign:Badged>
185+
<Button Content="{materialDesign:PackIcon AirplaneTakeoff}"
186+
Margin="0 12 8 4"
187+
ToolTip="Icon">
188+
</Button>
172189
</StackPanel>
173190
<StackPanel Grid.Row="3" Margin="0 24 0 0" Orientation="Horizontal">
174191
<Button Style="{StaticResource MaterialDesignRaisedAccentButton}"

MainDemo.Wpf/ProvingGround.xaml

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,22 @@
5050
<ColumnDefinition />
5151
</Grid.ColumnDefinitions>
5252

53-
<materialDesign:Badged Margin="64" Badge="3">
53+
<materialDesign:Badged Margin="32" Badge="3">
5454
<Button>MAIL</Button>
5555
</materialDesign:Badged>
56-
56+
57+
<materialDesign:Badged Margin="32" Badge="{materialDesign:PackIcon Kind=Heart}"
58+
BadgeColorZoneMode="Accent"
59+
Grid.Column="1">
60+
<Button>LOVE</Button>
61+
</materialDesign:Badged>
62+
63+
<materialDesign:Badged Margin="32" Badge="DANGER"
64+
BadgeColorZoneMode="Dark"
65+
Grid.Column="2">
66+
<Button>STATUS</Button>
67+
</materialDesign:Badged>
68+
5769
</Grid>
5870
</UserControl>
5971

MaterialDesignThemes.Wpf/Badged.cs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,6 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Text;
5-
using System.Threading.Tasks;
6-
using System.Windows;
1+
using System.Windows;
72
using System.Windows.Controls;
8-
using System.Windows.Data;
9-
using System.Windows.Documents;
10-
using System.Windows.Input;
113
using System.Windows.Media;
12-
using System.Windows.Media.Imaging;
13-
using System.Windows.Navigation;
14-
using System.Windows.Shapes;
15-
using System.Windows.Threading;
164

175
namespace MaterialDesignThemes.Wpf
186
{

MaterialDesignThemes.Wpf/MaterialDesignThemes.Wpf.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@
306306
<Compile Include="ISnackbarMessageQueue.cs" />
307307
<Compile Include="ListBoxAssist.cs" />
308308
<Compile Include="MessageQueueExtension.cs" />
309+
<Compile Include="PackIconExtension.cs" />
309310
<Compile Include="Palette.cs" />
310311
<Compile Include="Plane3D.cs" />
311312
<Compile Include="ScaleHost.cs" />
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
using System;
2+
using System.Windows.Markup;
3+
4+
namespace MaterialDesignThemes.Wpf
5+
{
6+
[MarkupExtensionReturnType(typeof(PackIcon))]
7+
public class PackIconExtension : MarkupExtension
8+
{
9+
public PackIconExtension()
10+
{ }
11+
12+
public PackIconExtension(PackIconKind kind)
13+
{
14+
Kind = kind;
15+
}
16+
17+
public PackIconExtension(PackIconKind kind, double size)
18+
{
19+
Kind = kind;
20+
Size = size;
21+
}
22+
23+
[ConstructorArgument("kind")]
24+
public PackIconKind Kind { get; set; }
25+
26+
[ConstructorArgument("size")]
27+
public double? Size { get; set; }
28+
29+
public override object ProvideValue(IServiceProvider serviceProvider)
30+
{
31+
var result = new PackIcon {Kind = Kind};
32+
33+
if (Size.HasValue)
34+
{
35+
result.Height = Size.Value;
36+
result.Width = Size.Value;
37+
}
38+
39+
return result;
40+
}
41+
}
42+
}

MaterialDesignThemes.Wpf/Themes/MaterialDesignTheme.Badged.xaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,19 @@
2626
<Border x:Name="PART_BadgeContainer"
2727
CornerRadius="9" Background="{TemplateBinding BadgeBackground}"
2828
MinWidth="18" MinHeight="18"
29-
HorizontalAlignment="Left" VerticalAlignment="Top" Padding="2">
29+
HorizontalAlignment="Left" VerticalAlignment="Top" Padding="2"
30+
TextElement.FontSize="11"
31+
TextElement.FontWeight="DemiBold">
32+
<Border.Resources>
33+
<Style TargetType="wpf:PackIcon">
34+
<Setter Property="Width" Value="12" />
35+
<Setter Property="Height" Value="12" />
36+
</Style>
37+
</Border.Resources>
3038
<ContentControl Foreground="{TemplateBinding BadgeForeground}"
31-
HorizontalAlignment="Center" VerticalAlignment="Center"
32-
Content="{TemplateBinding Badge}" />
39+
HorizontalAlignment="Center" VerticalAlignment="Center"
40+
Margin="1 0 1 0"
41+
Content="{TemplateBinding Badge}" />
3342
</Border>
3443
</Grid>
3544
<ControlTemplate.Triggers>

0 commit comments

Comments
 (0)