我有一个TabControl,它绑定到一个可观察的Employees集合,如此
<TabControl ItemsSource="{Binding Employees}">
<TabControl.ContentTemplate>
<DataTemplate>
<views:EmployeeView/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
我已将DataTemplate设置为员工视图。假设我的Employees系列中有两名员工。我得到了正确的标签出现。在我的EmployeeView中,我有一个复选框。如果我不绑定此复选框,则会在所有选项卡上进行检查。我不确定我是在跟踪为什么会发生这种情况。我想我的问题是我如何在EmployeeView上设置DataContext,以便tabcontrols选项卡可以独立运行。
答案 0 :(得分:1)
问题可能是当TabControl
是数据绑定时,它'虚拟化'其TabItems,卸载然后在选择更改时重新加载和重新绑定它们的内容。
因此,您可以尝试将IsChecked
中CheckBox的View
绑定到其ViewModel
的属性,或者使用以下行为禁用TabItem
虚拟化这里的那个:http://www.codeproject.com/Articles/460989/WPF-TabControl-Turning-Off-Tab-Virtualization
我最近自己使用了上述行为,因为我对TabControl的默认数据绑定行为有类似的问题。