feat: add option to make it selectable.
This commit is contained in:
@@ -16,9 +16,23 @@
|
||||
FontWeight="{TemplateBinding FontWeight}"
|
||||
FontStyle="{TemplateBinding FontSize}"
|
||||
FontStretch="{TemplateBinding FontStretch}"
|
||||
Text="{TemplateBinding InternalText,
|
||||
Mode=OneWay}" />
|
||||
Text="{TemplateBinding InternalText, Mode=OneWay}" />
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
<Style Selector="^[IsSelectable=True]">
|
||||
<Setter Property="Template">
|
||||
<ControlTemplate TargetType="u:NumberDisplayerBase">
|
||||
<SelectableTextBlock
|
||||
FontSize="{TemplateBinding FontSize}"
|
||||
Foreground="{TemplateBinding Foreground}"
|
||||
FontFamily="{TemplateBinding FontFamily}"
|
||||
Background="{TemplateBinding Background}"
|
||||
FontWeight="{TemplateBinding FontWeight}"
|
||||
FontStyle="{TemplateBinding FontSize}"
|
||||
FontStretch="{TemplateBinding FontStretch}"
|
||||
Text="{TemplateBinding InternalText, Mode=OneWay}" />
|
||||
</ControlTemplate>
|
||||
</Setter>
|
||||
</Style>
|
||||
</ControlTheme>
|
||||
</ResourceDictionary>
|
||||
|
||||
@@ -35,6 +35,15 @@ public abstract class NumberDisplayerBase : TemplatedControl
|
||||
get => GetValue(StringFormatProperty);
|
||||
set => SetValue(StringFormatProperty, value);
|
||||
}
|
||||
|
||||
public static readonly StyledProperty<bool> IsSelectableProperty = AvaloniaProperty.Register<NumberDisplayerBase, bool>(
|
||||
nameof(IsSelectable));
|
||||
|
||||
public bool IsSelectable
|
||||
{
|
||||
get => GetValue(IsSelectableProperty);
|
||||
set => SetValue(IsSelectableProperty, value);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class NumberDisplayer<T>: NumberDisplayerBase
|
||||
|
||||
Reference in New Issue
Block a user