c # wpf ContentControl и несколько пользовательских элементов управления - PullRequest
0 голосов
/ 08 мая 2018

У меня есть несколько «состояний», где каждое состояние просто UserControl с различными функциями, такими как отображение видео или изображения и некоторые другие вещи, и пользователь может создать список состояний и изменить фон главного окна, где ContentControl с фактическим состоянием размещен. Он прекрасно работает, но проблема в том, что когда пользователь меняет цвет bg на белый, то при переходе между состояниями экран на короткое время становится черным. Вероятно, это потому, что я создаю новый экземпляр UserControl для каждого перехода, например:

contentControl.Content = new StartState(); 

Итак, я подумал о том, чтобы составить список всех UserControl экземпляров, но дело в том, что пользователь может создавать много состояний и излишне забирать память. Есть ли лучший способ сделать так, чтобы он не зависел от памяти и не делал переход быстрым (по крайней мере, на мгновение не меняя экран на черный).

1 Ответ

0 голосов
/ 08 мая 2018

Если StartState имеет конфигурацию, связанную с цветом фона и другими визуальными элементами, я бы удостоверился, что новый объект был настроен правильно перед установкой contentControl.Content. Попробуйте создать экземпляр нового объекта StartState и подготовить его к установке contentControl.Content.

var newStartState = new StartState();
newStartState.Background = Colors.White;
newStartState.SomeProperty = Foo;
newStartState.OtherProperty = Bar;
contentControl.Content = newStartState;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...