Я несколько новичок в приложениях WPF, но, похоже, что такая простая вещь идет не так, что я в тупике. Я пытался найти ответ, но большинство из того, что я нахожу, - это ошибки Binding, которых здесь нет.
По сути, у меня есть приложение WPF для доступа к базе данных для отображения элементов пользователю. Указанные данные хранятся в виде таблицы в представлении, видимость которого определяется логическим свойством (RecordLoaded), которое реализует OnPropertyChanged, и стандартным конвертером BoolToVisibility.
DataView.xaml:
<Grid Visibility="{Binding RecordLoaded, Converter={StaticResource BoolToVisibility}}">
Когда элемент в древовидном представлении выбран, класс SelectedRecord обновляется, что затем, в свою очередь, запускает событие (OnRecordSelected), чтобы установить для RecordLoaded значение false и вызывать функцию (FillDetails) для получения соответствующих данных.
private void DataSelectedRecord_OnRecordSelected(object sender, EventArgs e)
{
RecordLoaded = false;
FillDetails();
}
После того, как все данные были получены из базы данных, в конце FillDetails для RecordLoaded устанавливается значение true.
Проблема в том, что я пытаюсь реализовать небольшое «мерцание», чтобы показать, что представление обновлено путем включения и выключения видимости сетки, особенно при работе с данными, имеющими минимальные различия между двумя записями. , Но хотя я могу переместить сетку из исходного состояния Visibility.Hidden в Visible, используя конвертер, и конвертер работает корректно, возвращая правильные значения Hidden или Visible, а также когда логическое значение установлено в false и true, абсолютно нет изменить с визуальной стороны вещи, даже не мерцание.
Моей первой мыслью было то, что состояния быстро возвращались к истине, и это быстро было невозможно обнаружить, но я добавил задержку в метод FillDetails незадолго до логического значения без радости.
Есть ли у кого-нибудь какие-либо предложения относительно того, что может идти не так, или, возможно, даже альтернативные способы обозначения обновления данных (без навязчивого сообщения или иным образом)?