我有显示 185 列和 15 行的 Listview。为了显示 15 行的 185 列,Windows 商店应用程序需要一些时间或 UI 冻结。下面是我用来显示数据的代码
<ListView x:Name="outerlstView"
Height="650"
Margin="2,24,10,10" Grid.Row="1"
Grid.Column="1" BorderThickness="1" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
ItemsSource="{Binding Data,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollMode="Enabled" ScrollViewer.VerticalScrollBarVisibility="Auto"
SelectionMode="None" ShowsScrollingPlaceholders="True" IsZoomedInView="False" IsSwipeEnabled="False" IsItemClickEnabled="False" ItemContainerStyle="{StaticResource LvItemStyle}" Orientation="Vertical" VirtualizingStackPanel.VirtualizationMode="Standard"/> ShowsScrollingPlaceholders=" True">高度="{绑定路径=标签,RelativeSource={RelativeSource Mode=Self},Converter={StaticResource RowtoHeightConverter }}" >
上面的代码里面有另一个listview。当我尝试将 list> 加载到 listview 时,它需要太多时间。当我加载 100 行和 185 列时,有时应用程序会崩溃。
我尝试将 Itemtemplate 样式控件替换为 Itemstackpanel 性能很好。数据加载并更快地显示在屏幕上,但我看不到水平滚动
以前的代码
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel
Orientation="Vertical" VirtualizingStackPanel.VirtualizationMode="Standard"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
当我修改为<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsStackPanel Margin="0,0,0,0" Width="Auto" Orientation="Horizontal" Height="35" VirtualizingStackPanel.VirtualizationMode="Standard"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
我没有看到启用水平滚动条。任何人都可以建议我如何在 Windows 商店应用程序中为 Itemstackpanel 启用默认启用的水平滚动条。看起来它是这个控件的错误,或者有使用水平滚动条的 ItemsStackpanel 的变通方法。