0

デフォルトでは、WPF ListView( を含むGridView) は仮想化されています。したがってItemSource、MVVMパターンを使用しているため(Caliburn.Microを使用していますが、それは問題ではないと思います)、ViewModelの監視可能なコレクションにプロパティをバインドします。

アイテム ビュー モデル (itemsource のアイテム) が ListView によって (スコープ内で UI listviewitem によって表される) 使用されているとき、およびそれらが使用されていない(もはやスコープ内になく、 UI)?

一部の詳細データを遅延ロードするのは非常に便利ですが、表示可能なレコードのみです。

4

1 に答える 1

3

PrepareContainerForItemOverrideオーバーライドされたClearContainerForItemOverrideメソッドを持つ派生 ListView を持つことができます。

public class MyListView : ListView
{
    protected override void PrepareContainerForItemOverride(
        DependencyObject element, object item)
    {
        base.PrepareContainerForItemOverride(element, item);

        ((MyItem)item).DoSomethingOnPrepare();
    }

    protected override void ClearContainerForItemOverride(
        DependencyObject element, object item)
    {
        ((MyItem)item).DoSomethingOnClear();

        base.ClearContainerForItemOverride(element, item);
    }
}
于 2017-01-09T15:55:51.063 に答える