Документация по 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.

Оглавление