2

185列と15行を表示するリストビューがあります。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.Horizo​​ntalScrollBarVisibility="Visible" ScrollViewer.Horizo​​ntalScrollMode="Enabled" 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 }}" >

上記のコードには、別のリストビュー内にリストビューがあります。list> を listview に読み込もうとすると、時間がかかりすぎます。185 列で 100 行をロードすると、アプリがクラッシュすることがあります。

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に回避策があるようです。

4

1 に答える 1