SharedSizeGroup в ListView.ItemTemplate - PullRequest
18 голосов
/ 20 июня 2011

У меня есть такой сценарий, в котором я хочу поделиться размером столбца среди всех ListViewItems, и я использую SharedSizeGroup для определений столбца, но он не работает:

<ListView ItemsSource="{Binding}">
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" SharedSizeGroup="A" />
                    <ColumnDefinition Width="Auto" SharedSizeGroup="B" />
                    <ColumnDefinition Width="Auto" SharedSizeGroup="C" />
                </Grid.ColumnDefinitions>
                <TextBlock Grid.Column="0" Margin="10,0" Text="{Binding Text1}" />
                <TextBlock Grid.Column="1" Margin="10,0" Text="{Binding Text2}" />
                <TextBlock Grid.Column="2" Margin="10,0" Text="{Binding Text3}" />
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>

Я знаю, что возможным решением является использование GridView в качестве ListView.View, но есть несколько проблем проектирования, которые мешают нам сделать это. Есть ли какой-нибудь другой способ, которым я могу разделить ширину столбцов?

Это то, чего я хочу достичь (столбцы одинакового цвета должны иметь общую ширину):

enter image description here

Заранее спасибо.

1 Ответ

33 голосов
/ 20 июня 2011

Единственное, чего не хватает, так это объема, который я думаю, добавить Grid.IsSharedSizeScope="True" к атрибутам ListView.

...