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
어떻게 든 알고 있는지 확실하지 않습니다 결국 모든 것은이 점에서 잘 밝혀졌다. 컨트롤이나 다른 일이 생기면 잘 모르겠다. 왜 그렇게 잘 동작하는지에 대한 설명은 매우 느리지 만, 크게 감사하겠습니다.)
잘못하고 있습니다. –
@MathiasLykkegaardLorenzen :) – Anton