【发布时间】:2018-10-25 09:18:13
【问题描述】:
我有一组 ViewModel 我想绑定到 TabControl 的 ItemsSource 属性并能够动态添加/删除它们,因此已实现为 Observable<TabViewModel>。
然而TabControl 似乎期望继承自TabItem 的类型,TabItem 是一个视觉控制对象。我不希望我的 ViewModels 从 TabItem 继承,因为这意味着它们需要绑定到可视化实现,并且所有测试都需要作为 STA 运行。
如何绑定 ViewModel 集合以填充选项卡控件的标题和内容,而不依赖于 TabItem 对象?即仅使用我认为基于 ViewModel 类型的样式和模板。就像您有一个 ListBox 并希望项目直接从 viewmodel 实例中渲染,使用特定的模板,这很容易通过覆盖 ItemTemplate 属性来实现。
如何在不使用TabItem 的情况下使用TabControl 执行此操作?
【问题讨论】:
-
那么你想基于一个集合创建 TabItems 吗?
-
不确定这是否正是您要寻找的,但这是我开始使用 TabControl 时使用的great video。
-
stackoverflow.com/a/5651542/1228 我刚刚查了这个答案。很奇怪。