WPF ListView изображение в зависимости от статуса столбца - PullRequest
1 голос
/ 18 июля 2011

Я хотел бы показать значок вместо значения в просмотре списка.По сути, ListView привязан к ModelView-Class (Observable-Collection как свойство в нем) и имеет столбец с именем «status».В зависимости от значения статуса я бы хотел показать другое изображение.Что было бы лучшим способом сделать это.Я читал о DataTemplate, но не знаю, где подключить код для переключения изображения.

Конструктор MV-класса выглядит так:

public TaskViewModel()
        {
            this.TaskCollection = ac.GetAllTasks();
        }

Заранее большое спасибо1006 *

Адам

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Я бы использовал DataTrigger. Вот пример:

<Style TargetType="{x:Type ListViewItem}">
    <Setter Property="Template" Value="{StaticResource DisabledImageTemplate}" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding Status}" Value="Active">
            <Setter Property="Template" Value="{StaticResource ActiveImageTemplate}" />
        </DataTrigger>
    </Style.Triggers>
</Style>
0 голосов
/ 18 июля 2011

Если путь / имя вашего изображения продиктован кодом (это плохо, но иногда бывает), вы можете реализовать IValueConverter и назвать его как StatusToIconConverter. См. здесь на MSDN с простым примером.

Относительно Data Templates См. В классе DataTemplateSelector. Вот также очень простой пример. Ключевым моментом является определение простого класса, который просто анализирует переданное значение и возвращает соответствующий шаблон данных, очевидно, вы должны объявить один шаблон данных на изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...