【发布时间】:2014-02-22 19:28:18
【问题描述】:
我有显示 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="{绑定数据,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
ScrollViewer.HorizontalScrollBarVisibility="可见"
ScrollViewer.HorizontalScrollMode="已启用" ScrollViewer.VerticalScrollBarVisibility="Auto"
SelectionMode="None" ShowsScrollingPlaceholders="True" IsZoomedInView="False"
IsSwipeEnabled="False" IsItemClickEnabled="False"
ItemContainerStyle="{StaticResource LvItemStyle}"
Orientation="Vertical" VirtualizingStackPanel.VirtualizationMode="Standard"/>
ShowsScrollingPlaceholders="True">
Height="{Binding Path=Tag,RelativeSource={RelativeSource Mode=Self},Converter={StaticResource RowtoHeightConverter }}" >
上面的代码里面有另一个listview。当我尝试将 list> 加载到 listview 时,它需要太多时间。当我加载 100 行和 185 列时,有时应用程序会崩溃。
我尝试将 Itemtemplate stye 控件替换为 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 的变通方法。
【问题讨论】:
-
这似乎是一个错误。如果您仍然有问题,请转到此主题并添加评论:social.msdn.microsoft.com/Forums/windowsapps/en-US/…
标签: windows-store-apps winrt-xaml windows-8.1 xamlparseexception