我在这里看过两个关于TDI& amp; C#。他们俩都没有真正回答我的问题......
由于TDI现在非常像标准,我很难想象,我必须购买一个特殊控件(如AvalonDock或SandDock)。 必须以某种方式内置选项卡控件(?)来实现这一点!我不需要像dock和draggable tabitems这样的特殊功能。只需在新标签中打开每个表单即可。多数民众赞成。
就像将每个表单内容控件放入用户控件并按请求(按钮,菜单单击...)添加一个新选项卡并将相应的用户控件放在上面......就像这样。
你会怎么做?这不是那么复杂(即使对我来说),还是我错过了什么?!
非常感谢!
答案 0 :(得分:7)
也许Josh Smith的article on MVVM可以让你知道如何设计这样的用户界面。正在构建的示例有一个标签式文档界面,因此您可以将其用作起始块。
答案 1 :(得分:5)
这并不难。这似乎很难,因为有很多不同的方法可以做到这一点。
试试这个:
<TabControl x:Name="documentArea"/>
AddForm按钮的处理程序:
private void AddFormClick(object sender, RoutedEventArgs e)
{
object form = GetNewForm();
documentArea.Items.Add(form);
}
就是这样。您必须以两种方式之一实施GetNewForm()
。让它返回显示表单的用户控件。
或者更好的是,让它返回您要显示的文档。使用DataTemplate
选择用于显示此文档的控件。这种方法设置起来会更复杂。