Я хочу создать элемент управления ListView, в котором вы указываете два цвета: один, если элемент включен, а другой - нет. ListView будет привязан к ObservableCollection, где StringBool - это класс со строкой (текст элемента списка) и bool для включения / отключения.

Я начал с UserControl, но это кажется излишним. Я не могу понять, как расширить ListView и присоединить свойства, которые можно было бы использовать в XAML другого окна.

С чего мне начать искать? Лучше всего работаю на примерах :(

0
kw1jybo 18 Сен 2020 в 23:16

1 ответ

Лучший ответ

Вы можете определить ItemContainerStyle с помощью DataTrigger, который привязывается к вашему свойству bool и устанавливает одно или несколько свойств контейнера ListViewItem, например:

<ListView>
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="Foreground" Value="Green" />
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsEnabled}" Value="False">
                    <Setter Property="Foreground" Value="Red" />
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ListView.ItemContainerStyle>
</ListView>
0
mm8 18 Сен 2020 в 20:25