60 lines
1.2 KiB
C#
60 lines
1.2 KiB
C#
using Avalonia;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Media;
|
|
|
|
namespace Pilz.UI.AvaloniaUI.Controls;
|
|
|
|
public partial class ImageSplitButton : SplitButton
|
|
{
|
|
protected override Type StyleKeyOverride => typeof(SplitButton);
|
|
|
|
public ImageSplitButton()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public string? Text
|
|
{
|
|
get => ButtonText.Text;
|
|
set => ButtonText.Text = value;
|
|
}
|
|
|
|
public IImage? ImageSource
|
|
{
|
|
get => ButtonImage.Source;
|
|
set
|
|
{
|
|
ButtonImage.Source = value;
|
|
ButtonImage.IsVisible = value != null;
|
|
}
|
|
}
|
|
|
|
public double ImageWidth
|
|
{
|
|
get => ButtonImage.Width;
|
|
set => ButtonImage.Width = value;
|
|
}
|
|
|
|
public double ImageHeight
|
|
{
|
|
get => ButtonImage.Height;
|
|
set => ButtonImage.Height = value;
|
|
}
|
|
|
|
public double ImageQuadSize
|
|
{
|
|
get => ButtonImage.Width;
|
|
set => ButtonImage.Width = ButtonImage.Height = value;
|
|
}
|
|
|
|
public Size ImageSize
|
|
{
|
|
get => new(ButtonImage.Width, ButtonImage.Height);
|
|
set
|
|
{
|
|
ButtonImage.Width = value.Width;
|
|
ButtonImage.Height = value.Height;
|
|
}
|
|
}
|
|
}
|