ListBox изменить изображение на выбор - PullRequest
0 голосов
/ 22 мая 2019

У меня есть список со значением SelectionMode, установленным на Single и шаблоном элемента, который выглядит следующим образом:

            <ListBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Vertical" Width="100" Margin="10" Cursor="Hand" >
                        <Image Source="/Assets/Images/folder_80closed.png" HorizontalAlignment="Center" />
                        <TextBox Text="{Binding Name}" BorderThickness="0" TextAlignment="Center" HorizontalAlignment="Center"/>
                    </StackPanel>
                </DataTemplate>
            </ListBox.ItemTemplate>

Есть ли способ изменить значение свойства изображения Source в XAML в зависимости от того, выбран элемент или нет?Что-то вроде рисунка ниже, где выделен элемент 4.

enter image description here

1 Ответ

1 голос
/ 22 мая 2019

Вы можете использовать стиль изображения с DataTrigger в свойстве IsSelected текущего ListBoxItem:

<Image HorizontalAlignment="Center">
    <Image.Style>
        <Style TargetType="Image">
            <Setter Property="Source"
                    Value="/Assets/Images/folder_80closed.png"/>

            <Style.Triggers>
                <DataTrigger
                    Binding="{Binding IsSelected,
                             RelativeSource={RelativeSource AncestorType=ListBoxItem}}"
                    Value="True">
                    <Setter Property="Source"
                            Value="/Assets/Images/some_other_image.png"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Image.Style>
</Image>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...