Горизонтально центрированный горизонтальный ItemsControl - PullRequest
1 голос
/ 10 июня 2011

Как я могу создать горизонтально ориентированную ItemsControl, где элементы выровнены так же, как эти две метки выровнены в этом Grid?

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>

    <Label Grid.Column="1">Text 1</Label>
    <Label Grid.Column="3">Text 2</Label>
</Grid>

У меня уже есть представление для элементов,поэтому использование ItemsTemplate, вероятно, не вариант.

Ресурсы

Вот несколько учебных пособий и статей о создании собственной пользовательской панели.Надеюсь, что это поможет кому-то с подобной проблемой ...

UniformGrid для Silverlight
Анимировать таблицу данных WPF при добавлении элемента в список?
Создание пользовательских панелей в WPF
FishEyePanel / FanPanel - Примеры пользовательских панелей макета в WPF
WPF - Панель стеков с ограничениями

1 Ответ

1 голос
/ 10 июня 2011

Самое близкое, что вы могли бы получить, не написав свою собственную панель, было бы:

<ItemsControl ItemsSource="{Binding TheItems}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid Rows="1"/>
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style>
            <Setter Property="Control.HorizontalAlignment" Value="Center"/>
        </Style>
    </ItemsControl.ItemContainerStyle>
</ItemsControl>

Обратите внимание, что в данный момент у меня нет .NET, поэтому я не могу проверить выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...