Skip to content

Commit 9bda866

Browse files
committed
Update ThemedIconPage
1 parent a81732e commit 9bda866

File tree

4 files changed

+276
-12
lines changed

4 files changed

+276
-12
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ Install-Package DevWinUI
135135
## 🔥 DevWinUI.Controls 🔥
136136
### ⚡ What’s Inside? ⚡
137137

138+
- ✨ ThemedIcon
138139
- ✨ SamplePanel
139140
- ✨ SpectrumAnalyzer
140141
- ✨ WaveformTimeline
@@ -324,6 +325,9 @@ Install-Package DevWinUI.ContextMenu
324325

325326
## 🕰️ History 🕰️
326327

328+
### ThemedIcon
329+
![ThemedIcon](https://raw.githubusercontent.com/ghost1372/DevWinUI-Resources/refs/heads/main/DevWinUI-Docs/ThemedIcon.gif)
330+
327331
### SamplePanel
328332
![SamplePanel](https://raw.githubusercontent.com/ghost1372/DevWinUI-Resources/refs/heads/main/DevWinUI-Docs/SamplePanel.png)
329333

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace DevWinUIGallery.Models;
2+
3+
public partial class ThemedIconItem
4+
{
5+
public object Key { get; set; }
6+
public Style Style { get; set; }
7+
8+
public ThemedIconItem(object key, Style style)
9+
{
10+
this.Key = key;
11+
this.Style = style;
12+
}
13+
}

dev/DevWinUI.Gallery/Views/Pages/Features/ThemedIconPage.xaml

Lines changed: 64 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,82 @@
66
xmlns:dev="using:DevWinUI"
77
xmlns:local="using:DevWinUIGallery"
88
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
9+
xmlns:models="using:DevWinUIGallery.Models"
910
mc:Ignorable="d">
1011
<ScrollViewer>
1112
<StackPanel Margin="10" dev:PanelAttach.ChildrenTransitions="Default" Spacing="10">
1213
<local:ControlExample DocPage="controls/themedIcon">
1314
<local:ControlExample.Xaml>
1415
&lt;dev:ThemedIcon Style="{StaticResource App.ThemedIcons.Copy}" /&gt;
1516
</local:ControlExample.Xaml>
17+
<local:ControlExample.Pane>
18+
<StackPanel Spacing="10">
19+
<ToggleSwitch x:Name="IsToggled"
20+
Header="Is Toggled" />
21+
<ComboBox x:Name="CmbColorType"
22+
Header="Color Type"
23+
ItemsSource="{x:Bind ThemedIconColorType, Mode=OneWay}"
24+
SelectedIndex="1">
25+
<ComboBox.ItemTemplate>
26+
<DataTemplate x:DataType="dev:ThemedIconColorType">
27+
<TextBlock Text="{x:Bind}" />
28+
</DataTemplate>
29+
</ComboBox.ItemTemplate>
30+
</ComboBox>
31+
<ComboBox x:Name="CmbIconType"
32+
Header="Icon Type"
33+
ItemsSource="{x:Bind ThemedIconTypes, Mode=OneWay}"
34+
SelectedIndex="1">
35+
<ComboBox.ItemTemplate>
36+
<DataTemplate x:DataType="dev:ThemedIconTypes">
37+
<TextBlock Text="{x:Bind}" />
38+
</DataTemplate>
39+
</ComboBox.ItemTemplate>
40+
</ComboBox>
41+
</StackPanel>
42+
</local:ControlExample.Pane>
43+
<StackPanel Orientation="Horizontal" Spacing="10">
44+
<dev:ThemedIcon IconColorType="{x:Bind (dev:ThemedIconColorType)CmbColorType.SelectedItem, Mode=OneWay}"
45+
IconType="{x:Bind (dev:ThemedIconTypes)CmbIconType.SelectedItem, Mode=OneWay}"
46+
IsToggled="{x:Bind IsToggled.IsOn, Mode=OneWay}"
47+
Style="{StaticResource App.ThemedIcons.Copy}" />
48+
<dev:ThemedIcon IconColorType="{x:Bind (dev:ThemedIconColorType)CmbColorType.SelectedItem, Mode=OneWay}"
49+
IconType="{x:Bind (dev:ThemedIconTypes)CmbIconType.SelectedItem, Mode=OneWay}"
50+
IsToggled="{x:Bind IsToggled.IsOn, Mode=OneWay}"
51+
Style="{StaticResource App.ThemedIcons.Paste}" />
52+
<dev:ThemedIcon IconColorType="{x:Bind (dev:ThemedIconColorType)CmbColorType.SelectedItem, Mode=OneWay}"
53+
IconType="{x:Bind (dev:ThemedIconTypes)CmbIconType.SelectedItem, Mode=OneWay}"
54+
IsToggled="{x:Bind IsToggled.IsOn, Mode=OneWay}"
55+
Style="{StaticResource App.ThemedIcons.Delete}" />
56+
<dev:ThemedIcon IconColorType="{x:Bind (dev:ThemedIconColorType)CmbColorType.SelectedItem, Mode=OneWay}"
57+
IconType="{x:Bind (dev:ThemedIconTypes)CmbIconType.SelectedItem, Mode=OneWay}"
58+
IsToggled="{x:Bind IsToggled.IsOn, Mode=OneWay}"
59+
Style="{StaticResource App.ThemedIcons.Rename}" />
60+
<dev:ThemedIcon IconColorType="{x:Bind (dev:ThemedIconColorType)CmbColorType.SelectedItem, Mode=OneWay}"
61+
IconType="{x:Bind (dev:ThemedIconTypes)CmbIconType.SelectedItem, Mode=OneWay}"
62+
IsToggled="{x:Bind IsToggled.IsOn, Mode=OneWay}"
63+
Style="{StaticResource App.ThemedIcons.Refresh}" />
64+
<dev:ThemedIcon IconColorType="{x:Bind (dev:ThemedIconColorType)CmbColorType.SelectedItem, Mode=OneWay}"
65+
IconType="{x:Bind (dev:ThemedIconTypes)CmbIconType.SelectedItem, Mode=OneWay}"
66+
IsToggled="{x:Bind IsToggled.IsOn, Mode=OneWay}"
67+
Style="{StaticResource App.ThemedIcons.CopyTo}" />
68+
</StackPanel>
69+
</local:ControlExample>
70+
<local:ControlExample DocPage="controls/themedIcon">
1671
<ItemsControl ItemsSource="{x:Bind ThemedIconStyles, Mode=OneWay}">
1772
<ItemsControl.ItemTemplate>
18-
<DataTemplate>
19-
<StackPanel Spacing="6">
20-
<TextBlock Text="{Binding Key}" />
21-
<dev:ThemedIcon Style="{Binding Value}" />
22-
</StackPanel>
73+
<DataTemplate x:DataType="models:ThemedIconItem">
74+
<dev:ThemedIcon Style="{x:Bind Style}"
75+
ToolTipService.ToolTip="{x:Bind Key}" />
2376
</DataTemplate>
2477
</ItemsControl.ItemTemplate>
78+
<ItemsControl.ItemsPanel>
79+
<ItemsPanelTemplate>
80+
<dev:WrapPanel HorizontalSpacing="5"
81+
VerticalSpacing="10" />
82+
</ItemsPanelTemplate>
83+
</ItemsControl.ItemsPanel>
2584
</ItemsControl>
26-
2785
</local:ControlExample>
2886
</StackPanel>
2987
</ScrollViewer>

0 commit comments

Comments
 (0)