Обычные стили следуют стандартной, относительно негибкой модели WPF.
Класс стиля можно создать, установив для свойства Class в Style строку, представляющую имя класса. Это преимущество по сравнению с определением явного стиля с помощью атрибута x: Key заключается в том, что к VisualElement можно применить несколько классов стилей.
Несколько стилей могут совместно использовать одно и то же имя класса, если они нацелены на разные типы. Это позволяет нескольким классам стилей с одинаковыми именами нацеливаться на разные типы.
Как показано в коде ниже:
<ContentPage.Resources>
<Style Class="style1" TargetType="Button">
<Setter Property="BackgroundColor" Value="AliceBlue" />
</Style>
<Style Class="style2" TargetType="Button">
<Setter Property="TextColor" Value="Red" />
</Style>
<Style Class="style1" TargetType="Label">
<Setter Property="TextColor" Value="Red" />
</Style>
</ContentPage.Resources>
Для элемента управления можно применить несколько классов стилей, поскольку свойство StyleClass имеет введите IList.
<Button
x:Name="btn1"
Clicked="Btn1_Clicked"
StyleClass="style1,style2"
Text="change image source" />
О StyleClass, пожалуйста, посмотрите:
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/styles/xaml/style-class
Я думаю, StyleClass - это новая функция, поэтому там плохо документированы.