在使用ListView的时候,默认情况下ItemTemplate不能占满ListView的宽度。
最简单的办法就是添加
HorizontalContentAlignment="Stretch"
到ListView。
<ListView
VirtualizingPanel.ScrollUnit="Pixel"
ItemTemplate="{StaticResource NavigationItemTemplate}">
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
<DataTemplate x:Key="NavigationItemTemplate">
<Grid Background="{DynamicResource SystemControlBackgroundAltHighBrush}"
Margin="-5,0,-5,0" Height="80" Width="290"
AutomationProperties.Name="{Binding Title, Mode=OneTime}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
</Grid>
</Grid>
</DataTemplate>
[UWP][XAML] ListView child item not using full width
ListViewItem won't stretch to the width of a ListView
WPF让ListView的ItemTemplate占有100%的宽度