У меня есть кнопка с изображением внутри.Эта кнопка появляется на сетке данных много раз для отображения статуса строки.Когда пользователь нажимает кнопку, он изменяет состояние базового объекта в строке на включенное или отключенное.Вот как выглядит кнопка:
<data:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button CommandParameter="{Binding}" HorizontalAlignment="Center">
<Image Source="{Binding Converter={StaticResource EnableDisableConverter}}" Height="25" Width="25" />
</Button>
</DataTemplate>
</data:DataGridTemplateColumn.CellTemplate>
Преобразователь корректно возвращает правильное изображение в зависимости от состояния.Проблема в том, что я переключился на модель MVVM, и мой код для изменения изображения больше не будет работать.Мой предыдущий выглядел так:
Image img = (Image)btn.Content;
if (c.Status == Administration.Web.ObjectStatus.Enabled) {
img.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("/Images/enable-icon.png", UriKind.Relative));
} else {
img.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("/Images/disable-icon.png", UriKind.Relative));
}
Во время команды, которая изменяет статус, я пытался вызвать изменение свойства, содержащего объект, но оно не отражается в пользовательском интерфейсе.Если я делаю жесткое обновление экрана, статус корректно меняется.Есть ли способ перепривязать изображение в текущей ситуации?