WPF中的选项卡式文档界面仅使用板载方式?

我在这里看到了关于TDI和C#的两个主题。 他们俩都没有真正回答我的问题……

由于TDI现在非常像标准,我很难想象,我必须购买一个特殊控件(如AvalonDock或SandDock)。 这必须是以内置tab-control(?)的方式实现的! 我不需要像dock和draggable tabitems这样的特殊function。 只需在新标签中打开每个表单即可。 而已。

就像将每个表单内容控件放入用户控件并按请求(按钮,菜单单击…)添加一个新选项卡并将相应的用户控件放在其上……就像这样。

你会怎么做? 这不是那么复杂(即使对我来说)或者我错过了什么?!

非常感谢!

这并不难。 这看起来很难,因为有很多不同的方法可以做到这一点。

试试这个:

 

AddForm按钮的处理程序:

 private void AddFormClick(object sender, RoutedEventArgs e) { object form = GetNewForm(); documentArea.Items.Add(form); } 

而已。 您必须以两种方式之一实现GetNewForm() 。 让它返回显示表单的用户控件。

或者更好的是,让它返回您要显示的文档。 使用DataTemplate选择用于显示此文档的控件。 设置此方法会更复杂。

也许Josh Smith 关于MVVM的文章可以让你了解如何设计这样的用户界面。 正在构建的示例有一个标签式文档界面,因此您可以将其用作起始块。