Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WPF中的选项卡式文档接口是否仅使用车载方式?_C#_Wpf_Controls_Tabbed Document Interface_Tabbed Interface - Fatal编程技术网

C# WPF中的选项卡式文档接口是否仅使用车载方式?

C# WPF中的选项卡式文档接口是否仅使用车载方式?,c#,wpf,controls,tabbed-document-interface,tabbed-interface,C#,Wpf,Controls,Tabbed Document Interface,Tabbed Interface,我在这里看到了两条关于TDI&C的线索。他们两个都没有回答我的问题 由于TDI现在非常像一个标准,我很难想象,我必须购买一个特殊的控制(如AvalonDock或SandDock)。 这必须有可能与内置的选项卡控件(?)不知何故!我不需要像停靠和拖动选项卡项这样的特殊功能。只需在新选项卡中打开每个表单。就这样 就像将每个表单内容控件放入用户控件,并根据请求(按钮、菜单单击…)添加一个新选项卡,并将相应的用户控件放在其上。。。像这样的 你会怎么做?这不会那么复杂(即使对我来说)或者我遗漏了什么 非常

我在这里看到了两条关于TDI&C的线索。他们两个都没有回答我的问题

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

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

你会怎么做?这不会那么复杂(即使对我来说)或者我遗漏了什么


非常感谢

也许Josh Smith可以给你一个如何设计这种用户界面的想法。在这里构建的示例有一种选项卡式文档界面,所以您可以将其用作起始块。

这并不难。这似乎很难,因为有很多不同的方法

试试这个:

<TabControl x:Name="documentArea"/>
就这样。您必须以两种方式之一实现
GetNewForm()
。让它返回一个显示表单的用户控件


或者更好的是,让它返回您想要显示的文档。使用
数据模板
选择用于显示此文档的控件。此方法的设置将更加复杂。

请注意。。。乔什·史密斯的文章是一个很好的参考,但它并不容易理解。您需要很好地处理WPF的数据绑定才能将其组合起来。谢谢,考虑到@mad9之前的问题,我认为他正在接近实现MVVM:)我完全支持。MVVM是WPF的好工具!非常感谢,我已经把这篇文章的德文版()打印出来了,就在我前面=)那么,我应该把哪一个标记为答案呢?所有这三个可能都起作用了——在idursun发布的这篇文章中,我目前试图弄清楚Josh Smith在做什么。这是一个非常优雅的解决方案,但对于我这个初学者来说有点难以理解。我想,最能回答我实际问题的是Josh G.的帖子,所以我会标记他的。。。非常感谢你们所有人!
private void AddFormClick(object sender, RoutedEventArgs e)
{
    object form = GetNewForm();

    documentArea.Items.Add(form);
}