Проблема выравнивания содержимого WPF - PullRequest
1 голос
/ 09 июля 2009

Вот код, который вызывает у меня проблемы с нескольких часов:

        TabItem newTab = new TabItem();
        newTab.Header = source.Name;
        newTab.Content = source.GetGui();
        newTab.HorizontalContentAlignment = HorizontalAlignment.Stretch;
        newTab.VerticalContentAlignment = VerticalAlignment.Stretch;
        this.inputSourceDisplay.Items.Add(newTab);

Выводом является элемент управления (из GetGui ()), который отображается, но в центральной вертикали и в центральной горизонтали, но не растягивается, предположим.

Как я могу решить это или как я могу отладить это?

Ответы [ 2 ]

1 голос
/ 09 июля 2009

Что возвращает ваш метод "GetGui ()"? Это UserControl? По умолчанию UserControls явно устанавливают свои свойства Width и Height:

<UserControl x:Class="WpfApplication1.UserControl1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Height="300" Width="300">

Если явно заданы Высота и Ширина, UserControl не будет реагировать на такие атрибуты, как HorizontalContentAlignment.

0 голосов
/ 09 июля 2009

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

Решением было удалить из UserControl Xaml ширину и высоту по умолчанию, а элемент управления вел себя так, как должен.

...