Skip to content

Commit

Permalink
Did something about #67
Browse files Browse the repository at this point in the history
  • Loading branch information
NotYoojun committed Jul 1, 2024
1 parent d52041b commit 6784073
Show file tree
Hide file tree
Showing 8 changed files with 110 additions and 59 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -179,26 +179,29 @@ private void OnIsSuggestionListOpenChanged(DependencyPropertyChangedEventArgs ar

private void OnQueryIconChanged(DependencyPropertyChangedEventArgs args)
{
OnQueryIconChanged(args.OldValue as IconElement, args.NewValue as IconElement);
OnQueryIconChanged(args.OldValue, args.NewValue);
}

private void OnQueryIconChanged(IconElement oldQueryIcon, IconElement newQueryIcon)
private void OnQueryIconChanged(object oldQueryIcon, object newQueryIcon)
{
if (oldQueryIcon != null)
{
oldQueryIcon.ClearValue(IconElement.ForegroundProperty);

if (newQueryIcon is FontIcon)
if (oldQueryIcon is IconElement oldQueryIconElement)
{
oldQueryIcon.ClearValue(FontIcon.FontSizeProperty);
oldQueryIconElement.ClearValue(IconElement.ForegroundProperty);

if (oldQueryIconElement is FontIcon)
{
oldQueryIconElement.ClearValue(FontIcon.FontSizeProperty);
}
}
}

if (newQueryIcon != null && m_queryButton != null)
{
if (newQueryIcon is FontIcon)
if (newQueryIcon is FontIcon newQueryIconFontIcon)
{
newQueryIcon.SetBinding(FontIcon.FontSizeProperty,
newQueryIconFontIcon.SetBinding(FontIcon.FontSizeProperty,
new Binding
{
Path = new PropertyPath(TextElement.FontSizeProperty),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,13 +155,13 @@ public object Header
public static readonly DependencyProperty QueryIconProperty =
DependencyProperty.Register(
nameof(QueryIcon),
typeof(IconElement),
typeof(object),
typeof(AutoSuggestBox),
new PropertyMetadata(null, OnQueryIconPropertyChanged));

public IconElement QueryIcon
public object QueryIcon
{
get => (IconElement)GetValue(QueryIconProperty);
get => (object)GetValue(QueryIconProperty);
set => SetValue(QueryIconProperty, value);
}

Expand Down
5 changes: 3 additions & 2 deletions source/iNKORE.UI.WPF.Modern.Gallery/Common/Category.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using iNKORE.UI.WPF.Modern.Controls;
using iNKORE.UI.WPF.Modern.Common.IconKeys;
using iNKORE.UI.WPF.Modern.Controls;
using System;

namespace iNKORE.UI.WPF.Modern.Gallery.Common
Expand All @@ -10,7 +11,7 @@ public class Category : CategoryBase
{
public string Name { get; set; }
public string Tooltip { get; set; }
public Symbol Glyph { get; set; }
public FontIconData Icon { get; set; }
//public Type TargetType { get; set; }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,10 +93,13 @@ private void AutoSuggestBox_SuggestionChosen(AutoSuggestBox sender, AutoSuggestB
Width="300"
HorizontalAlignment="Left"
PlaceholderText="Type a control name"
QueryIcon="Find"
QuerySubmitted="Control2_QuerySubmitted"
SuggestionChosen="Control2_SuggestionChosen"
TextChanged="Control2_TextChanged" />
TextChanged="Control2_TextChanged">
<ui:AutoSuggestBox.QueryIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Search}"/>
</ui:AutoSuggestBox.QueryIcon>
</ui:AutoSuggestBox>
<StackPanel
x:Name="ControlDetails"
Grid.Row="1"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<DataTemplate>
<ui:NavigationViewItem Content="{Binding Name, Mode=OneTime}" ToolTipService.ToolTip="{Binding Tooltip, Mode=OneTime}">
<ui:NavigationViewItem.Icon>
<ui:SymbolIcon Symbol="{Binding Glyph, Mode=OneTime}" />
<ui:FontIcon Icon="{Binding Icon, Mode=OneTime}" />
</ui:NavigationViewItem.Icon>
</ui:NavigationViewItem>
</DataTemplate>
Expand Down Expand Up @@ -97,20 +97,32 @@
<muxc:NavigationView.MenuItems>
<muxc:NavigationViewItem
Content="Menu Item1"
Icon="Play"
Tag="SamplePage1" />
Tag="SamplePage1">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Play}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Menu Item2"
Icon="Save"
Tag="SamplePage2" />
Tag="SamplePage2">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Save}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Menu Item3"
Icon="Refresh"
Tag="SamplePage3" />
Tag="SamplePage3">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Refresh}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Menu Item4"
Icon="Download"
Tag="SamplePage4" />
Tag="SamplePage4">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Download}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
</muxc:NavigationView.MenuItems>
<ui:Frame x:Name="contentFrame5" Margin="0,0,0,0" />
</muxc:NavigationView>
Expand Down Expand Up @@ -253,6 +265,7 @@
Grid.Row="2"
Height="460"
IsTabStop="False"
IsPaneOpen="False"
MenuItemTemplateSelector="{StaticResource selector}"
MenuItemsSource="{Binding Categories, Mode=OneWay}"
SelectionChanged="NavigationView_SelectionChanged4">
Expand Down Expand Up @@ -325,43 +338,62 @@
<muxc:NavigationView.MenuItems>
<muxc:NavigationViewItem
Content="Home"
Icon="Home"
Tag="SamplePage1"
ToolTipService.ToolTip="Home" />
ToolTipService.ToolTip="Home">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Home}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Account"
Icon="Contact"
Tag="SamplePage2"
ToolTipService.ToolTip="Account">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Contact}"/>
</muxc:NavigationViewItem.Icon>
<muxc:NavigationViewItem.MenuItems>
<muxc:NavigationViewItem
Content="Mail"
Icon="Mail"
Tag="SamplePage3"
ToolTipService.ToolTip="Mail" />
ToolTipService.ToolTip="Mail">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Mail}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Calendar"
Icon="Calendar"
Tag="SamplePage4"
ToolTipService.ToolTip="Calendar" />
ToolTipService.ToolTip="Calendar">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Calendar}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
</muxc:NavigationViewItem.MenuItems>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Document options"
Icon="Page2"
SelectsOnInvoked="False"
ToolTipService.ToolTip="Document options">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Page}"/>
</muxc:NavigationViewItem.Icon>
<muxc:NavigationViewItem.MenuItems>
<muxc:NavigationViewItem
Content="Create new"
Icon="NewFolder"
Tag="SamplePage5"
ToolTipService.ToolTip="Create new" />
ToolTipService.ToolTip="Create new">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.NewFolder}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem
Content="Upload file"
Icon="OpenLocal"
Tag="SamplePage6"
ToolTipService.ToolTip="Upload file" />
ToolTipService.ToolTip="Upload file">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.OpenLocal}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
</muxc:NavigationViewItem.MenuItems>
</muxc:NavigationViewItem>
</muxc:NavigationView.MenuItems>
Expand Down Expand Up @@ -498,16 +530,28 @@
</muxc:NavigationView.PaneCustomContent>

<muxc:NavigationView.AutoSuggestBox>
<ui:AutoSuggestBox AutomationProperties.Name="Search" QueryIcon="Find" />
<ui:AutoSuggestBox AutomationProperties.Name="Search">
<ui:AutoSuggestBox.QueryIcon>
<ui:FontIcon Icon="{x:Static ui:SegoeFluentIcons.Search}"/>
</ui:AutoSuggestBox.QueryIcon>
</ui:AutoSuggestBox>
</muxc:NavigationView.AutoSuggestBox>

<muxc:NavigationView.PaneFooter>
<StackPanel
x:Name="FooterStackPanel"
Orientation="Vertical"
Visibility="Collapsed">
<muxc:NavigationViewItem AutomationProperties.Name="download" Icon="Download" />
<muxc:NavigationViewItem AutomationProperties.Name="favorite" Icon="Favorite" />
<muxc:NavigationViewItem AutomationProperties.Name="download">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.Download}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
<muxc:NavigationViewItem AutomationProperties.Name="favorite">
<muxc:NavigationViewItem.Icon>
<ui:FontIcon Icon="{x:Static muxc:SegoeFluentIcons.FavoriteStar}"/>
</muxc:NavigationViewItem.Icon>
</muxc:NavigationViewItem>
</StackPanel>
</muxc:NavigationView.PaneFooter>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ public NavigationViewPage()
nvSample8.SelectedItem = nvSample8.MenuItems.OfType<iNKORE.UI.WPF.Modern.Controls.NavigationViewItem>().First();

Categories = new ObservableCollection<CategoryBase>();
Category firstCategory = new Category { Name = "Category 1", Glyph = Symbol.Home, Tooltip = "This is category 1" };
Category firstCategory = new Category { Name = "Category 1", Icon = SegoeFluentIcons.Home, Tooltip = "This is category 1" };
Categories.Add(firstCategory);
Categories.Add(new Category { Name = "Category 2", Glyph = Symbol.Keyboard, Tooltip = "This is category 2" });
Categories.Add(new Category { Name = "Category 3", Glyph = Symbol.Library, Tooltip = "This is category 3" });
Categories.Add(new Category { Name = "Category 4", Glyph = Symbol.Mail, Tooltip = "This is category 4" });
Categories.Add(new Category { Name = "Category 2", Icon = SegoeFluentIcons.KeyboardFull, Tooltip = "This is category 2" });
Categories.Add(new Category { Name = "Category 3", Icon = SegoeFluentIcons.Library, Tooltip = "This is category 3" });
Categories.Add(new Category { Name = "Category 4", Icon = SegoeFluentIcons.Mail, Tooltip = "This is category 4" });
Loaded += delegate
{
nvSample4.SelectedItem ??= firstCategory;
Expand Down Expand Up @@ -203,23 +203,23 @@ private void databindHeader_Checked(object sender, RoutedEventArgs e)
Categories = new ObservableCollection<CategoryBase>()
{
new Header { Name = "Header1 "},
new Category { Name = "Category 1", Glyph = Symbol.Home, Tooltip = "This is category 1" },
new Category { Name = "Category 2", Glyph = Symbol.Keyboard, Tooltip = "This is category 2" },
new Category { Name = "Category 1", Icon = SegoeFluentIcons.Home, Tooltip = "This is category 1" },
new Category { Name = "Category 2", Icon = SegoeFluentIcons.KeyboardFull, Tooltip = "This is category 2" },
new Separator(),
new Header { Name = "Header2 "},
new Category {Name = "Category 3", Glyph = Symbol.Library, Tooltip = "This is category 3" },
new Category {Name = "Category 4", Glyph = Symbol.Mail, Tooltip = "This is category 3" }
new Category {Name = "Category 3", Icon = SegoeFluentIcons.Library, Tooltip = "This is category 3" },
new Category {Name = "Category 4", Icon = SegoeFluentIcons.Mail, Tooltip = "This is category 3" }
};
}

private void databindHeader_Checked_Unchecked(object sender, RoutedEventArgs e)
{
Categories = new ObservableCollection<CategoryBase>()
{
new Category { Name = "Category 1", Glyph = Symbol.Home, Tooltip = "This is category 1" },
new Category { Name = "Category 2", Glyph = Symbol.Keyboard, Tooltip = "This is category 2" },
new Category {Name = "Category 3", Glyph = Symbol.Library, Tooltip = "This is category 3" },
new Category {Name = "Category 4", Glyph = Symbol.Mail, Tooltip = "This is category 3" }
new Category { Name = "Category 1", Icon = SegoeFluentIcons.Home, Tooltip = "This is category 1" },
new Category { Name = "Category 2", Icon = SegoeFluentIcons.KeyboardFull, Tooltip = "This is category 2" },
new Category {Name = "Category 3", Icon = SegoeFluentIcons.Library, Tooltip = "This is category 3" },
new Category {Name = "Category 4", Icon = SegoeFluentIcons.Mail, Tooltip = "This is category 3" }
};
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@

//C# code behind
Categories = new ObservableCollection<CategoryBase>();
Categories.Add(new Category { Name = "Category 1", Glyph = Symbol.Home, Tooltip = "This is category 1" });
Categories.Add(new Category { Name = "Category 2", Glyph = Symbol.Keyboard, Tooltip = "This is category 2" });
Categories.Add(new Category { Name = "Category 3", Glyph = Symbol.Library, Tooltip = "This is category 3" });
Categories.Add(new Category { Name = "Category 4", Glyph = Symbol.Mail, Tooltip = "This is category 4" });
Categories.Add(new Category { Name = "Category 1", Icon = SegoeFluentIcons.Home, Tooltip = "This is category 1" });
Categories.Add(new Category { Name = "Category 2", Icon = SegoeFluentIcons.KeyboardFull, Tooltip = "This is category 2" });
Categories.Add(new Category { Name = "Category 3", Icon = SegoeFluentIcons.Library, Tooltip = "This is category 3" });
Categories.Add(new Category { Name = "Category 4", Icon = SegoeFluentIcons.Mail, Tooltip = "This is category 4" });

public class CategoryBase { }

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
//C# code behind
Categories = new ObservableCollection<CategoryBase>();
Categories.Add(new Category { Name = "Category 1", Glyph = Symbol.Home, Tooltip = "This is category 1" });
Categories.Add(new Category { Name = "Category 2", Glyph = Symbol.Keyboard, Tooltip = "This is category 2" });
Categories.Add(new Category { Name = "Category 3", Glyph = Symbol.Library, Tooltip = "This is category 3" });
Categories.Add(new Category { Name = "Category 4", Glyph = Symbol.Mail, Tooltip = "This is category 4" });
Categories.Add(new Category { Name = "Category 1", Icon = SegoeFluentIcons.Home, Tooltip = "This is category 1" });
Categories.Add(new Category { Name = "Category 2", Icon = SegoeFluentIcons.KeyboardFull, Tooltip = "This is category 2" });
Categories.Add(new Category { Name = "Category 3", Icon = SegoeFluentIcons.Library, Tooltip = "This is category 3" });
Categories.Add(new Category { Name = "Category 4", Icon = SegoeFluentIcons.Mail, Tooltip = "This is category 4" });

public class CategoryBase { }

Expand Down

0 comments on commit 6784073

Please sign in to comment.