Browse Source

Throw for duplicate setters in styles.

And remove the duplicate setter that we have.
refactor/style-priorities
Steven Kirk 4 years ago
parent
commit
c6dab8b578
  1. 7
      src/Avalonia.Base/Styling/StyleInstance.cs
  2. 1
      src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml

7
src/Avalonia.Base/Styling/StyleInstance.cs

@ -45,7 +45,12 @@ namespace Avalonia.Styling
public void Add(ISetterInstance instance)
{
if (instance is IValueEntry valueEntry)
base.Add(valueEntry);
{
if (Contains(valueEntry.Property))
throw new InvalidOperationException(
$"Duplicate setter encountered for property '{valueEntry.Property}' in '{Source}'.");
Add(valueEntry);
}
else
(_setters ??= new()).Add(instance);
}

1
src/Avalonia.Themes.Fluent/Controls/ButtonSpinner.xaml

@ -53,7 +53,6 @@
<!-- ButtonSpinner -->
<Style Selector="ButtonSpinner">
<Setter Property="Background" Value="Transparent" />
<Setter Property="Foreground" Value="{DynamicResource TextControlForeground}" />
<Setter Property="Padding" Value="10, 0" />
<Setter Property="Background" Value="{DynamicResource TextControlBackground}" />

Loading…
Cancel
Save