Silverlight5、RIAサービス、DataPagerを使用して、リストボックスへの7500行のクエリを実行します。
興味深い問題が発生しました。500個程度のアイテムをページングした後、メモリ使用量が70MBから250MBになり、パフォーマンスが大幅に低下します。
ContextMenuServiceをコメントアウトすると、すべて正常に機能します。
問題:各リストボックスアイテムにパフォーマンスの高い右クリック機能を実装するにはどうすればよいですか?
<ListBox x:Name="AccountItems" SelectionMode="Extended" ItemsSource="{Binding Data, ElementName=AccountsDataSource}" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListBox.ItemTemplate>
<DataTemplate>
<ListBoxItem>
<TextBlock Grid.Column="2" Name="textBlockCaptionFirstName" Text="{Binding FirstName}" HorizontalAlignment="Left" TextAlignment="Center" TextWrapping="Wrap" >
<!-- Right click -->
<controlsInputToolkit:ContextMenuService.ContextMenu>
<controlsInputToolkit:ContextMenu>
<controlsInputToolkit:MenuItem Header="Convert account to another User" Click="Person_Click">
<controlsInputToolkit:MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="{StaticResource PersonAccountIcon}"/>
</controlsInputToolkit:MenuItem.Icon>
</controlsInputToolkit:MenuItem>
<controlsInputToolkit:MenuItem Header="Convert account to a System account" Click="ServiceAccount_Click">
<controlsInputToolkit:MenuItem.Icon>
<Rectangle Width="16" Height="16" Fill="{StaticResource ServiceAccountIcon}"/>
</controlsInputToolkit:MenuItem.Icon>
</controlsInputToolkit:MenuItem>
<controlsInputToolkit:Separator/> snip....