WPF: найдите, сколько места нужно элементу управления - PullRequest
1 голос
/ 30 июня 2011

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

Эти элементы управления создаются во время выполнения, и их содержимое может варьироваться в зависимости от базовых данных, поэтому я заранее не знаю, сколько места они займут.

Что я хочу знать: есть ли способ определить во время выполнения, сколько места нужно элементу управления, чтобы не «обрезаться» или не нуждаться в прокрутке? то есть: сколько места нужно, чтобы оно было полностью видимым?

Я попробовал свойство "DesiredSize", и оно своего рода работает, но не всегда: если элемент управления уже использовался (уже имеет размер), он возвращает последний использованный размер, а не правильный , даже если я вызываю «InvalidateMeasure ()».

Есть идеи ??

1 Ответ

2 голосов
/ 30 июня 2011

Вызов Измерение на контроле. Дайте ему бесконечное пространство в качестве доступного размера для расчета. Затем проверьте DesiredSize, чтобы получить необходимую ширину (и / или высоту).

...