0

さて、Grouping と ItemsSource をオンザフライで変更する ListView 派生コントロールがあります。スクロールバーが消えるようにグループ化し、ItemsSource を別の ICollectionView に変更すると、スクロールバーが戻りません。

基本的な問題は、グループ化がアクティブ化されると ListView が VirtualizedStackPanel に変更され、グループ化が非アクティブ化されても元に戻らないことです。

グループ化時に仮想化が無効になっていることは気にしません。これは問題ではありません。私が必要としているのは、ItemsSource を変更したときに ListView に ItemPanel を再生成させる方法です。

4

1 に答える 1

0

イベント ハンドラーをSourceUpdatedイベントに追加してから、 ItemsPanelTemplateをResourcesで定義されたテンプレートにリセットできますか?

何かのようなもの:

public MyWindow()
{
   InitializeComponent();

   MyListView.SourceUpdated += new EventHandler<DataTransferEventArgs>( OnSourceUpdated );
}

void OnSourceUpdated( object sender, DataTransferEventArgs e )
{
   MyListView.ItemsPanel = (ItemsPanelTemplate)Resources["MyItemsPanelTemplate"];
}
于 2010-03-23T17:25:44.920 に答える