5

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

由于 TDI 现在非常像一个标准,我很难想象我必须购买一个特殊的控件(如 AvalonDock 或 SandDock)。这必须以某种方式内置选项卡控件(?)!我不需要像可停靠和可拖动的 tabitems 这样的特殊功能。只需在新选项卡中打开每个表单。就是这样。

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

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

多谢!

4

2 回答 2

7

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

于 2009-06-22T12:28:12.473 回答
5

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

试试这个:

<TabControl x:Name="documentArea"/>

AddForm 按钮的处理程序:

private void AddFormClick(object sender, RoutedEventArgs e)
{
    object form = GetNewForm();

    documentArea.Items.Add(form);
}

就是这样。您必须以GetNewForm()两种方式之一实施。让它返回一个显示表单的用户控件。

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

于 2009-06-22T12:44:12.440 回答