У меня есть логическое свойство в моей ViewModel с именем, скажем, IsNotSupported
, которое используется для отображения некоторой предупреждающей информации, если датчик не поддерживается. Поэтому я использую BooleanToVisibilityConverter
, который добавлен в ресурсы:
и привяжите его к панели стека, содержащей предупреждение:
Все это работает достаточно хорошо, но при загрузке страницы и поддержке сенсора предупреждение появляется всего на доли секунды и потом исчезает. Я знаю, что это мерцание вызвано тем, что привязка еще не произошла и поэтому по умолчанию отображается как видимая.
Это мерцание чертовски раздражает... По умолчанию оно должно быть свернуто и становиться видимым только после того, как станет ясно, что предупреждение должно отображаться. Кроме того, это позволит избежать второго прохода компоновки после привязки и, следовательно, может оказать положительное влияние на производительность.
У меня была эта проблема снова и снова, и я ничего не нашел об этом в Интернете, пока не нашел этот ТАК вопрос, который тесно связан, но не найден, если искать Windows Phone вместо Silverlight. И проблема, и решение могут показаться простыми, но я действительно беспокоил меня довольно долгое время, поэтому я подумал, что было бы неплохо написать вопрос в стиле вопросов и ответов -, чтобы помочь другим, которые сталкиваются с той же проблемой.