Авторазмер заголовка в WPF HeaderedItemsControl - PullRequest
2 голосов
/ 26 мая 2011

Я использую HeaderedItemsControl для отображения имен людей. Я также хочу показать заголовок, который содержит 3 метки: название, имя и фамилия. Это легко, когда имена короткие. Однако, когда имя очень длинное, заголовки больше не совпадают с именами. Как я могу это исправить? Спасибо!

1 Ответ

6 голосов
/ 26 мая 2011

Не уверен, действительно ли вы хотите использовать этот класс:

HeaderedItemsControl имеет ограниченный стиль по умолчанию.Чтобы создать HeaderedItemsControl с пользовательским внешним видом, создайте новый шаблон ControlTemplate.

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

<HeaderedItemsControl ItemsSource="{Binding Data}" Grid.IsSharedSizeScope="True">
    <HeaderedItemsControl.Template>
        <ControlTemplate TargetType="HeaderedItemsControl">
            <StackPanel>
                <ContentPresenter ContentSource="Header" />
                <ItemsPresenter  />
            </StackPanel>
        </ControlTemplate>
    </HeaderedItemsControl.Template>
    <HeaderedItemsControl.Header>
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition SharedSizeGroup="A" />
                <ColumnDefinition SharedSizeGroup="B" />
            </Grid.ColumnDefinitions>
            <TextBlock Grid.Column="0" Text="Name" />
            <TextBlock Grid.Column="1" Text="Occupation" />
        </Grid>
    </HeaderedItemsControl.Header>
    <HeaderedItemsControl.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition SharedSizeGroup="A" />
                    <ColumnDefinition SharedSizeGroup="B" />
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0" Text="{Binding Name}"/>
                <TextBlock Grid.Column="1" Text="{Binding Occupation}" />
            </Grid>
        </DataTemplate>
    </HeaderedItemsControl.ItemTemplate>
</HeaderedItemsControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...