Документация по Avalonia UI
Привязка к классам
В Авалонии вы также можете привязывать классы. Иногда может быть полезно переключать классы в зависимости от какой-то логики, и для этих целей вы можете использовать Binding Classes API. Вот пример использования привязки классов. У нас есть два разных стиля, и мы хотим переключаться между ними в зависимости от состояния MyProperty
.
<ListBox Items="{Binding MyItems}"> <ListBox.Styles> <Style Selector="TextBlock.myClass"> <Setter Property="Background" Value="Red" /> </Style> <Style Selector="TextBlock.myClass2"> <Setter Property="Background" Value="Green" /> </Style> </ListBox.Styles> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Classes.myClass="{Binding MyProperty}" Classes.myClass2="{Binding !MyProperty}" Text="{Binding Name}"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
Когда вы привязываетесь к классам, Авалония ожидает логическое значение. Этот API был представлен в версии 0.10.1.