UserControl
には、一番上に多数のコントロールを配置し、その下にLongListSelector
を配置する必要があります。 UserControl
全体の高さの合計は画面の高さを超えることがあります。その場合、UserControl
全体をスクロール可能にする必要があります。ScrollViewerで囲まれたときのLongListSelectorのパフォーマンスが非常に悪い
次のように私の現在の設定は次のとおりです。
<staff:UserContentControl
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:MyApp.Controls"
xmlns:staff="clr-namespace:MyApp.Helpers"
x:Class="MyApp.Controls.RemoteHomePage"
DataContext="{Binding RelativeSource={RelativeSource Self}}"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}">
<ScrollViewer>
<ScrollViewer.Content>
<StackPanel>
<TextBlock Txt="Text1" Sign="@" />
<TextBlock Txt="Text2" Sign="#" />
<controls:Divider />
<TextBlock Txt="Text3" Sign="~" />
<TextBlock Txt="Text4" Sign="~" />
<controls:TextDivider Text="Divider text" />
<phone:LongListSelector ItemsSource="{Binding Items}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" />
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</StackPanel>
</ScrollViewer.Content>
</ScrollViewer>
</staff:UserContentControl>
このソリューションは、私のニーズを満たすだけでなく、大きな問題があります:現在LongListSelector
は、それが含まれているアイテムの量が適度に大きいときにロードするために、実際に多くの時間を要します。 300アイテムを処理するのに8秒かかり、その間にUI全体がブロックされます。でも、アイテムのかなり大きな量で、その後LongListSelector
負荷ほとんどすぐ
<staff:UserContentControl
...>
<phone:LongListSelector ItemsSource="{Binding Items}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}" />
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</staff:UserContentControl>
:私はそうのように、LongListSelector
以外のすべてを削除した場合。しかし明らかに私はそれ以上のコントロールが必要なので、この問題を解決するにはどうすればよいですか?
(また、関連する質問:私はScrollViewer
内部LongListSelector
はそのような二重のスクロールや何かを引き起こす可能性がありますが、最終的にすべてが、この点でうまく判明ことを心配していた私はLongListSelector
は何とかそれは他のスクロールの内側にあることを知っているかはわかりません。何か他のことが起こった場合は、私が気づいていない場合は、非常に遅いが、それはうまく動作するいくつかのexplainantionが大いに感謝します。)
あなたは間違っています。 –
@MathiasLykkegaardLorenzen :) – Anton