using WPFluent.Controls;
using System.Windows.Markup;
namespace WPFluent.Markup;
///
/// HCWhite which can provide .
///
///
/// /// <ui:Button /// Appearance="Primary" /// Content="WPF UI button with font icon" ///
/// Icon="{ui:ImageIcon '/my-icon.png'}" /> /// /// <ui:Button Icon="{ui:ImageIcon
/// 'pack://application:,,,/Assets/wpfui.png'}" /> /// /// <ui:HyperlinkButton
/// Icon="{ui:ImageIcon 'pack://application:,,,/Assets/wpfui.png'}" /> /// ///
/// <ui:TitleBar Icon="{ui:ImageIcon 'pack://application:,,,/Assets/wpfui.png'}" /> ///
///
[ContentProperty(nameof(Source))]
[MarkupExtensionReturnType(typeof(ImageIcon))]
public class ImageIconExtension : MarkupExtension
{
public ImageIconExtension(ImageSource? source) { Source = source; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
var imageIcon = new ImageIcon { Source = Source, Width = Width, Height = Height, };
return imageIcon;
}
public double Height { get; set; } = 16D;
[ConstructorArgument("source")]
public ImageSource? Source { get; set; }
public double Width { get; set; } = 16D;
}