我将WPF TabControl的ItemsSource属性绑定到TabItem的ObservableCollection。
XAML:
<TabControl ItemsSource={Binding TabItems}/>
C#:
public ObservableCollection<TabItem> TabItems {get; set;}
使用此模型,TabItem的Parent属性始终为null。但是,如果我使用TabControl的Items属性并添加TabItems,则TabControl中TabItem的父属性不为null。不知道为什么会这样。
答案 0 :(得分:1)
父属性返回null
,因为TabItem不是TabControl的子节点。失败的一个原因是不适当的DataContext
,所以
XAML代码<TabControl ItemsSource={Binding TabItems}/>
可能会失败。
检查DataContexts是否正确。
如果您在检查DataContext
时遇到问题,请尝试Snoop,每个WPF开发人员都必须拥有一个方便的程序:) Snoop
启动Snoop,要求它“窥探”正在运行的程序,左侧出现一个带有Visual Hierarchy的窗口。深入查看TabControl
并检查右侧的DataContext(它是第二个标签项RightTop)。验证它是否显示您定义的属性TabItems
(public ObservableCollection<TabItem> TabItems {get; set;}
)
希望有所帮助:)