Мое приложение во время его запуска заполняет DataGrid данными, полученными из базы данных. Мои поля: имя, идентификатор и статус. Первые два не проблема, но третий (Status) - это int, либо 1, либо 0, что означает активный или неактивный.
Я решил создать пользовательский элемент управления для отображения поля «Статус». Это не что иное, как круг, который становится зеленым или красным в зависимости от значения «Статус». Цвет элемента управления по умолчанию - красный.
Я также создал объект списка («данные»), который содержит мою информацию плюс элемент управления с соответствующим цветом. Пока проблем нет. Все работает, и если я сделаю быстрый просмотр своего объекта данных, все будет так, как должно быть.
Моя проблема заключается в том, что после того, как я заполнил DataGrid "myDataGrid.ItemsSource = data", каждый элемент управления "Status" отображается красным, когда некоторые из них должны быть зелеными. Если я в любой момент остановлюсь и быстро посмотрю свой объект «данных», все в порядке, но DataGrid не обновляется.
То же самое происходит для сортировки. Если я изменю цвет любого из элементов управления, после сортировки любого из столбцов он сбрасывает цвет всех моих пользовательских элементов управления по умолчанию (красный).
После нескольких тестов и исследований я думаю, что проблема в том, что DataGrid обновляется в конце источника элемента и создает новые пользовательские элементы управления вместо использования элементов управления в моем объекте данных.
Есть ли способ решить это? Я перепробовал несколько решений, которые нашел в Интернете, и пока ничего не получалось!