【发布时间】:2015-04-22 15:09:31
【问题描述】:
我有以下列表视图:
<ListView ItemsSource="{Binding ArtistList}">
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderThickness="0,0,0,0.5" BorderBrush="#22ffffff" Tapped="ArtistTapped">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Ellipse Grid.Column="0" Canvas.ZIndex="0" Fill="#22ffffff" Width="50" Height="50" Margin="0,10"/>
<Ellipse Grid.Column="0" Canvas.ZIndex="1" Stretch="UniformToFill" Width="50" Height="50" Margin="0,10">
<Ellipse.Fill>
<ImageBrush ImageSource="{Binding firstAlbumArt}"/>
</Ellipse.Fill>
</Ellipse>
<StackPanel Grid.Column="1" Margin="20,10,0,10">
<TextBlock Text="{Binding name}" Foreground="#ffffffff" FontFamily="Segoe WP" FontSize="18"/>
<TextBlock Foreground="#aaffffff" FontFamily="Segoe WP" FontWeight="Light" FontSize="14">
<Run Text="{Binding amountofalbums}"/>
<Run Text="album(s)"/>
</TextBlock>
</StackPanel>
</Grid>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
</Style>
</ListView.ItemContainerStyle>
</ListView>
当我上下滚动时,ListView 会稍微左右移动,这很烦人。有两种方法可以解决此问题:
删除 ItemContainerStyle => 项目不再被拉伸,这是必要的
将 HorizontalAlignment = left 添加到 ListView => 再次,项目不再被拉伸......
有没有办法让 ListView 在保持拉伸的 ListViewItems 的同时不左右跳跃?
【问题讨论】:
标签: xaml listview windows-8 windows-phone-8.1 windows-8.1