2

ユーザーのコメント ツリーを読み込んでレンダリングする「コメント コントロール」(Silverlight に似た win8 XAML アプリ) を構築しようとしています。

各コメントには、0 個または 1 個以上の子コメントを含めることができます (各コメントを繰り返します)。

各コメントには、作成者、時間、コメント自体などの一連の情報が表示されます。

これを構築するために私が最初に取ったアプローチは、「CommentItem」コントロール バインディングを持つ ListView を使用することです。

<TextBlock Grid.Row="1" TextWrapping="Wrap" Text="{Binding commentText}" FontSize="11" FontFamily="Global User Interface" />
        <ListView Grid.Row="2" x:Name="CommentRepliesList" ItemsSource="{Binding}" >
            <ListView.ItemTemplate>
                <DataTemplate>
                    <local:CommentItem Tag="{Binding}"></local:CommentItem>
                </DataTemplate>
            </ListView.ItemTemplate>
        </ListView>

上記は、各コメントを再帰し、コメントテキストを適用してから、コメントの子ごとに新しいコメントアイテムを作成し、再度再帰するなどです。

ただし、問題は、これが非常に遅く、パフォーマンスが低いことです。

これを行うためのより効率的な方法を知っている人はいますか? ListView はこれに使用する適切なコントロールですか?

4

0 に答える 0