Windows Phone 8 アプリで、ListBoxItem
の幅全体にListBox
.
私のListBox
:
<ListBox
ItemsSource="{Binding Events}"
behaviors:ItemClickCommandBehavior.Command="{Binding EventSelectedCommand}"
ItemTemplate="{StaticResource EventListTemplateSelector}"/>
その DataTemplates は別の xaml リソース ファイルにあります。
<DataTemplate x:Key="EventListHeaderTemplate">
<Border HorizontalAlignment="Stretch">
<Grid Height="50">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="6*"/>
</Grid.ColumnDefinitions>
<Image Grid.Column="0" Source="{Binding ImageUri}" VerticalAlignment="Center" HorizontalAlignment="Center" Height="30"/>
<TextBlock Grid.Column="1" Text="{Binding SomeText}" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="Black"/>
</Grid>
</Border>
</DataTemplate>
アイテムを実際に伸ばすことができず、問題がどこにあるのかわかりません。HorizontalCONtentAlignment="Stretch"を設定しようとしましたが、ItemContainerStyle
うまくいきませんでした。私は他の多くの組み合わせを試しましたが、Border または Grid 幅を定数に設定するだけで機能するようです。他の 1 つの解決策は、Border 幅を設定して、含まれている ListBox の ActualWidth にバインドすることですが、Stretch を使用したいバリアントなら、それを機能させることができます。