2009-04-16 11 views
1

Прежде чем задать этот вопрос, я рассмотрел все связанные вопросы, но не нашел ничего подходящего.WPF Window MinWidth в зависимости от размера панели инструментов

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

Ширина окна может быть изменена, но она не может быть меньше ширины панели инструментов.

Сначала я надеялся связать MinWidth имущество в собственность StackPanelWidth и создать конвертер, который добавляет несколько пикселей Width в StackPanel. Проблема заключается в том, что мой конвертер не получает Ширина StackPanel, просто NaN как значение :(

К сожалению, StackPanel ширина устанавливается в Auto и я не могу изменить.

Есть ли способ, что я могу сделать мой окно MinWidth надежен на Width из StackPanel?

ответ

4

Использование ActualWidth, не Width.

ширина является запрашиваемая ширина или NaN для "Авто", ActualWidth - это фактическая ширина, после вычисления всего макета.

+0

Это замечательно! Я хотел знать, как это сделать сам. –

+0

Спасибо за ответ! Я попытался с помощью ActualWidth, но это создает другую проблему Пожалуйста, бабло на этом скриншоте http://dl.getdropbox.com/u/204110/actualwidth.PNG Это решение не будет позвольте мне сделать ширину окна меньше, это только позволяет мне увеличивать ширину. –

+0

Явно устанавливаю HorizontalAlignment влево, работает как шарм ... Спасибо. –