1

私はそのような従業員の観察可能なコレクションにバインドされているTabControlを持っています

<TabControl ItemsSource="{Binding Employees}">
            <TabControl.ContentTemplate>
                <DataTemplate>
                    <views:EmployeeView/>
                </DataTemplate>
            </TabControl.ContentTemplate>
        </TabControl>

DataTemplate を従業員ビューに設定しました。Employees コレクションに 2 人の従業員がいるとします。適切なタブが表示されます。私のEmployeeViewにはチェックボックスがあります。このチェックボックスをバインドしないと、すべてのタブでチェックされます。なぜこれが起こっているのか、私がフォローしているのかどうかはわかりません。私の質問は、タブコントロールのタブが独立して動作するように、EmployeeView に DataContext を設定する方法だと思います。

4

1 に答える 1

1

問題は、TabControlがデータバインドされている場合、TabItemを「仮想化」し、選択が変更されたときにコンテンツをアンロードしてからリロードして再バインドすることです。

したがってIsChecked、のCheckBoxViewをそのプロパティにバインドするか、次のような動作で仮想化をViewModel無効にすることができます:http: //www.codeproject.com/Articles/460989/WPF-TabControl-Turning -オフタブ-仮想化TabItem

TabControlのデフォルトのデータバインド動作で同様の問題が発生したため、最近、上記の動作を自分で使用しました。

于 2012-10-08T16:58:38.037 に答える