Как обеспечить, чтобы WPF (всплывающее) окно изменяло размеры до того, как оно стало видимым?

Я использую всплывающее окно в своем приложении WPF. Это окно без границ с SizeToContent установлен в WidthAndHeight,

Он изменяет свой размер каждый раз, когда я показываю его пользователю, чтобы обеспечить различную длину надписи на кнопке и количество кнопок, которые могут варьироваться и т. Д.

К сожалению, это автоматическое изменение размера заметно, особенно когда окно сжимается; это выглядит "нервным" и таким образом любительским.

Я никогда не избавляюсь от этого окна - просто скрываю и снова показываю - потому что мне придется каждый раз заново подключать некоторые обработчики событий, а также заново заполнять список (с кодами языков), что я не уверен, что должен делать.

Есть ли способ, которым я мог бы сказать, чтобы вычислить правильный размер, прежде чем он отображается?

1 ответ

Решение

Это должна быть оптимизация WPF. Вызов InvalidateMeasure() до и после может помочь.

Другие вопросы по тегам