0
私はWindows Phone 7.5アプリケーションで次のリストボックスを持っています。基本的に、リストボックスのItemTemplateにはイメージ、テキスト、イメージが含まれています。スペースがある場合、グリッドの列を自動縮小する方法を教えてください。
画像のいずれかまたは両方のVisibilityプロパティをCollapsedに設定した場合、テキスト列を(テキストの折り返しではなく)最大サイズに拡大したいと思います。以前は画像によって占められていた空間を占領する。逆に、画像のVisibilityを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>