Я новичок в WPF. Проблема, которую я пытаюсь решить, - это как получить правильную высоту во время выполнения.
В моем Приложении я динамически добавляю пользовательские элементы управления в панель стека в коде позади. Usercontrol содержит несколько Texblocks. Моя стековая панель затем используется в качестве контента для BookPage, и эта BookPage добавляется в книгу (http://wpfbookcontrol.codeplex.com/). Высота моей стековой панели не должна превышать определенного значения.
Я уже понял, что могу использовать Measure & Arrange для вычисления ActualSize & Height of Usercontrol:
itemsa.Measure(new System.Windows.Size(double.PositiveInfinity, double.PositiveInfinity));
itemsa.Arrange(new Rect(0, 0, 400, itemsa.DesiredSize.Height));
На этом этапе пользовательский контроль не добавляется в панель стека. 400 - это ширина, которую мой пользовательский контроль не должен превышать, но это так, потому что Textblock не создает автоматических разрывов строк. Когда я показываю Книгу, создаются разрывы строк.
Что я должен сделать, чтобы решить эту проблему?
Заранее спасибо.