2024-07-12 02:29:17 +02:00
|
|
|
|
|
2024-04-18 01:44:37 +02:00
|
|
|
|
|
2024-07-12 02:29:17 +02:00
|
|
|
|
#if NET8_0
|
|
|
|
|
|
using Microsoft.UI.Xaml;
|
|
|
|
|
|
using Microsoft.UI.Xaml.Media;
|
|
|
|
|
|
#else
|
|
|
|
|
|
using Windows.UI.Xaml;
|
|
|
|
|
|
using Windows.UI.Xaml.Media;
|
|
|
|
|
|
#endif
|
2024-04-18 01:44:37 +02:00
|
|
|
|
namespace Wino.Controls
|
|
|
|
|
|
{
|
|
|
|
|
|
public class WinoFontIconSource : Microsoft.UI.Xaml.Controls.FontIconSource
|
|
|
|
|
|
{
|
|
|
|
|
|
public WinoIconGlyph Icon
|
|
|
|
|
|
{
|
|
|
|
|
|
get { return (WinoIconGlyph)GetValue(IconProperty); }
|
|
|
|
|
|
set { SetValue(IconProperty, value); }
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public static readonly DependencyProperty IconProperty = DependencyProperty.Register(nameof(Icon), typeof(WinoIconGlyph), typeof(WinoFontIconSource), new PropertyMetadata(WinoIconGlyph.Flag, OnIconChanged));
|
|
|
|
|
|
|
|
|
|
|
|
public WinoFontIconSource()
|
|
|
|
|
|
{
|
2024-07-12 02:29:17 +02:00
|
|
|
|
FontFamily = new FontFamily("ms-appx:///Assets/WinoIcons.ttf#WinoIcons");
|
2024-04-18 01:44:37 +02:00
|
|
|
|
FontSize = 32;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static void OnIconChanged(DependencyObject obj, DependencyPropertyChangedEventArgs args)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (obj is WinoFontIconSource fontIcon)
|
|
|
|
|
|
{
|
|
|
|
|
|
fontIcon.UpdateGlyph();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void UpdateGlyph()
|
|
|
|
|
|
{
|
|
|
|
|
|
Glyph = ControlConstants.WinoIconFontDictionary[Icon];
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|