223 lines
6.8 KiB
C#
223 lines
6.8 KiB
C#
using System.Windows;
|
|
using System.Windows.Media;
|
|
|
|
namespace WPFluent.Controls;
|
|
|
|
public partial class PersonPicture
|
|
{
|
|
#region BadgeGlyph
|
|
|
|
public static readonly DependencyProperty BadgeGlyphProperty =
|
|
DependencyProperty.Register(
|
|
nameof(BadgeGlyph),
|
|
typeof(string),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(string.Empty, OnBadgeGlyphPropertyChanged, CoerceStringProperty));
|
|
|
|
public string BadgeGlyph
|
|
{
|
|
get => (string)GetValue(BadgeGlyphProperty);
|
|
set => SetValue(BadgeGlyphProperty, value);
|
|
}
|
|
|
|
private static void OnBadgeGlyphPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion BadgeGlyph
|
|
|
|
#region BadgeImageSource
|
|
|
|
public static readonly DependencyProperty BadgeImageSourceProperty =
|
|
DependencyProperty.Register(
|
|
nameof(BadgeImageSource),
|
|
typeof(ImageSource),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(null, OnBadgeImageSourcePropertyChanged));
|
|
|
|
public ImageSource BadgeImageSource
|
|
{
|
|
get => (ImageSource)GetValue(BadgeImageSourceProperty);
|
|
set => SetValue(BadgeImageSourceProperty, value);
|
|
}
|
|
|
|
private static void OnBadgeImageSourcePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion BadgeImageSource
|
|
|
|
#region BadgeNumber
|
|
|
|
public static readonly DependencyProperty BadgeNumberProperty =
|
|
DependencyProperty.Register(
|
|
nameof(BadgeNumber),
|
|
typeof(int),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(0, OnBadgeNumberPropertyChanged));
|
|
|
|
public int BadgeNumber
|
|
{
|
|
get => (int)GetValue(BadgeNumberProperty);
|
|
set => SetValue(BadgeNumberProperty, value);
|
|
}
|
|
|
|
private static void OnBadgeNumberPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion BadgeNumber
|
|
|
|
#region BadgeText
|
|
|
|
public static readonly DependencyProperty BadgeTextProperty =
|
|
DependencyProperty.Register(
|
|
nameof(BadgeText),
|
|
typeof(string),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(string.Empty, OnBadgeTextPropertyChanged, CoerceStringProperty));
|
|
|
|
public string BadgeText
|
|
{
|
|
get => (string)GetValue(BadgeTextProperty);
|
|
set => SetValue(BadgeTextProperty, value);
|
|
}
|
|
|
|
private static void OnBadgeTextPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion BadgeText
|
|
|
|
#region DisplayName
|
|
|
|
public static readonly DependencyProperty DisplayNameProperty =
|
|
DependencyProperty.Register(
|
|
nameof(DisplayName),
|
|
typeof(string),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(string.Empty, OnDisplayNamePropertyChanged, CoerceStringProperty));
|
|
|
|
public string DisplayName
|
|
{
|
|
get => (string)GetValue(DisplayNameProperty);
|
|
set => SetValue(DisplayNameProperty, value);
|
|
}
|
|
|
|
private static void OnDisplayNamePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion DisplayName
|
|
|
|
#region Initials
|
|
|
|
public static readonly DependencyProperty InitialsProperty =
|
|
DependencyProperty.Register(
|
|
nameof(Initials),
|
|
typeof(string),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(string.Empty, OnInitialsPropertyChanged, CoerceStringProperty));
|
|
|
|
public string Initials
|
|
{
|
|
get => (string)GetValue(InitialsProperty);
|
|
set => SetValue(InitialsProperty, value);
|
|
}
|
|
|
|
private static void OnInitialsPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion Initials
|
|
|
|
#region IsGroup
|
|
|
|
public static readonly DependencyProperty IsGroupProperty =
|
|
DependencyProperty.Register(
|
|
nameof(IsGroup),
|
|
typeof(bool),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(false, OnIsGroupPropertyChanged));
|
|
|
|
public bool IsGroup
|
|
{
|
|
get => (bool)GetValue(IsGroupProperty);
|
|
set => SetValue(IsGroupProperty, value);
|
|
}
|
|
|
|
private static void OnIsGroupPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion IsGroup
|
|
|
|
#region ProfilePicture
|
|
|
|
public static readonly DependencyProperty ProfilePictureProperty =
|
|
DependencyProperty.Register(
|
|
nameof(ProfilePicture),
|
|
typeof(ImageSource),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(null, OnProfilePicturePropertyChanged));
|
|
|
|
public ImageSource ProfilePicture
|
|
{
|
|
get => (ImageSource)GetValue(ProfilePictureProperty);
|
|
set => SetValue(ProfilePictureProperty, value);
|
|
}
|
|
|
|
private static void OnProfilePicturePropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion ProfilePicture
|
|
|
|
#region TemplateSettings
|
|
|
|
private static readonly DependencyPropertyKey TemplateSettingsPropertyKey =
|
|
DependencyProperty.RegisterReadOnly(
|
|
nameof(TemplateSettings),
|
|
typeof(PersonPictureTemplateSettings),
|
|
typeof(PersonPicture),
|
|
new PropertyMetadata(null, OnTemplateSettingsPropertyChanged));
|
|
|
|
public static readonly DependencyProperty TemplateSettingsProperty =
|
|
TemplateSettingsPropertyKey.DependencyProperty;
|
|
|
|
public PersonPictureTemplateSettings TemplateSettings
|
|
{
|
|
get => (PersonPictureTemplateSettings)GetValue(TemplateSettingsProperty);
|
|
private set => SetValue(TemplateSettingsPropertyKey, value);
|
|
}
|
|
|
|
private static void OnTemplateSettingsPropertyChanged(DependencyObject sender, DependencyPropertyChangedEventArgs args)
|
|
{
|
|
var owner = (PersonPicture)sender;
|
|
owner.PrivateOnPropertyChanged(args);
|
|
}
|
|
|
|
#endregion TemplateSettings
|
|
|
|
private static object CoerceStringProperty(DependencyObject d, object baseValue)
|
|
{
|
|
return baseValue ?? string.Empty;
|
|
}
|
|
}
|