Пожалуйста, я незадолго до сходит с ума, что могло привести мою проблему:Отображение изображения с помощью DataTrigger
Я пытаюсь отобразить изображение в соответствии со значением моей переменной ErrorDescription.Severity
с использованием DataTriggers. Я успешно показываю переменную как текст рядом с изображением. Однако изображение не отображается.
Где моя ошибка?
<DataGrid ItemsSource ="{Binding Results}" AutoGenerateColumns="False">
<DataGrid.Columns>
// works, displays "Error", "Warning" or "Info"
<DataGridTextColumn Binding="{Binding ErrorDescription.Severity}"></DataGridTextColumn>
// does not work, should display an image according to "Error", "Warning" or "Info"
<DataGridTemplateColumn >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image DataContext="{Binding DataContext.Results, RelativeSource={RelativeSource AncestorType=DataGrid}}">
<Image.Style>
<Style TargetType="{x:Type Image}">
<Style.Triggers>
<DataTrigger Binding="{Binding ErrorDescription.Severity}" Value="Warning">
<Setter Property="Source" Value="/warning.png"/>
</DataTrigger >
<DataTrigger Binding="{Binding ErrorDescription.Severity}" Value="Notice">
<Setter Property="Source" Value="/info.png"/>
</DataTrigger >
<DataTrigger Binding="{Binding ErrorDescription.Severity}" Value="Error">
<Setter Property="Source" Value="/error.png"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Image.Style>
</Image>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
Подробнее: Results
является ObservableCollection из Result
, Result
не реализует INotifyPropertyChange и имеет свойство ErrorDescription
и ErrorDescription
обладают свойством Severity
которое является перечислением.
Благодарим вас за помощь, так как это действительно сводит меня с ума .. отображение значения в тексте работает, но использование значения в DataTrigger не делает.
Что делать, если вы * не * явно установить DataContext на изображение в? – Clemens
Тогда привязка к ErrorDescription.Severity не работает (проблема с DataContext) – peter
Но что такое свойство 'ValidationResults'? Текущий объект «Результат»? – Clemens