为建立中文知识库加块砖 ——中科大胡不归
问题描述
在使用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>
<!-- 定义ListView的ItemTemplate -->
<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>
<!-- 你的ListItem布局 -->
</Grid>
</Grid>
</DataTemplate>