Определение размера UIElement в Silverlight - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть StackPanel, содержащая несколько элементов UIE (которые были созданы с использованием шаблона из файла XAML), которые я хочу отобразить.

Чтобы отобразить его правильно, мне нужно знать его размер.

Первоначально Width/Height/ActualWidth/ActualHeight/DesiredSize - все 0 или NaN.Если я вызываю panel.Measure (новый размер (double.PositiveInfinity, double.PositiveInfinity)), то вычисляются его ActualWidth / ActualHeight / DesiredSize (ширина / высота остаются как NaN).Пока все хорошо.

Однако для ActualWidth / DesiredSize.Width установлено значение MinWidth, указанное в шаблоне XAML, хотя при отрисовке панель стека шире этой.

Почему размер отрисовки не соответствует свойствам ActualWidth / ActualHeight?

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

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

1 Ответ

1 голос
/ 17 февраля 2011

Вы можете прослушать SizeChanged событие элемента управления, чтобы отслеживать изменения его размера.Пока элемент управления не будет отображен, все свойства размера будут 0/NaN.

...