Как настроить автоматическое сжатие столбца в сетке, если есть место? - PullRequest
0 голосов
/ 20 октября 2011

В моем приложении Windows Phone 7.5 есть следующий список.В основном ItemTemplate для списка содержит изображение, текст, а затем изображение.

Если для свойства «Видимость» на одном или обоих изображениях установить значение «Свернуть», я бы хотел, чтобы текстовый столбец увеличился до максимального размера (а не обтекания текста), например, занимал место, которое ранее занималопо изображениям.И наоборот, когда я устанавливаю Visility для изображений обратно на Visible, я бы хотел, чтобы изображения появлялись и текст сокращался.

Как я могу выполнить что-то подобное в Xaml?

<ListBox x:Name="MainListBox" Margin="0,0,-12,0" ItemsSource="{Binding Items}" >
    <ListBox.Resources>
        <BitmapImage x:Key="ProjectIcon" UriSource="Images/Dark/appbar.delete.rest.png" />
    </ListBox.Resources>

    <ListBox.ItemTemplate>
        <DataTemplate>

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

                <Image Grid.Column="0" Source="{StaticResource ProjectIcon}" Visibility="Collapsed" Width="48" Height="48" />
                <StackPanel Grid.Column="1" Margin="0,0,0,17" Width="432" Height="78" Orientation="Vertical">
                    <TextBlock Text="{Binding LineOne}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                    <TextBlock Text="{Binding LineTwo}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
                </StackPanel>
                <Image Grid.Column="2" Source="{StaticResource ProjectIcon}" Visibility="Visible" Width="48" Height="48" />
            </Grid>

        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

1 Ответ

1 голос
/ 20 октября 2011

Как насчет того, чтобы установить для ширины обоих столбцов 0 и 2 значение Авто и задать для них максимальную ширину 58?

...