Вам необходимо принудительно отобразить элемент или дождаться его отображения. Затем вы можете использовать свойства ActualHeight
и ActualWidth
.
Для принудительного рендеринга:
MenuItem item = new MenuItem();
item.Header = "bling";
item.Icon = someIcon;
//Force render
item.Measure(new Size(Double.PositiveInfinity, Double.PositiveInfinity));
item.Arrange(new Rect(item.DesiredSize));
В этом примере MenuItem
не была указана явная высота или ширина. Тем не менее, форсирование рендера приведет к его отображению с учетом предоставленного текста заголовка и значка.