У меня есть эта таблица данных, которая связана с наблюдаемой коллекцией элементов, например:
<DataGrid ItemsSource="{Binding Path=MyItems}">
Затем один из столбцов привязывается к свойству MyItems через простой конвертер, который переключает bool в путь к изображению.
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Image Name="DownloadedIcon" Source="{Binding Converter={StaticResource BoolToImageCheckmark}, ConverterParameter=IsDownloaded, UpdateSourceTrigger=PropertyChanged}" Width="16" Height="16" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
Само свойство IsDownloaded полностью реализует INotifyPropertyChanged.
Это работает нормально, поскольку отображаемые данные соответствуют значениям коллекции, а столбец изображения правильно отображает изображение на основе значения свойства.
Проблема возникает при изменении свойства. Если я привяжу текстовый столбец непосредственно к свойству, содержимое будет обновляться при обновлении свойства. Однако столбец изображения, который проходит через конвертер, не получит уведомление об обновлении.
Есть идеи?