C# WPF-处理Mainwindow中大量选项卡项的最佳代码体系结构

C# WPF-处理Mainwindow中大量选项卡项的最佳代码体系结构,c#,wpf,C#,Wpf,我正在尝试创建一个WPF应用程序,其中主页(又名MainWindow)将包含几个选项卡 我想知道最好的方法/架构是什么来封装每个选项卡的特定代码,而不是在同一个地方对所有内容进行编码 注 经过一些研究,我发现了类,但我一直认为类的使用是为了避免重复编码相同的逻辑。在我的情况下,我会在每个标签上使用它们一次 根据您的偏好和所需的复杂程度,您可以使用或只创建一个for each选项卡来更好地分发代码。导致窗口的xaml看起来像: <TabItem x:Name="tab_peerView" H

我正在尝试创建一个WPF应用程序,其中主页(又名MainWindow)将包含几个选项卡

我想知道最好的方法/架构是什么来封装每个选项卡的特定代码,而不是在同一个地方对所有内容进行编码


经过一些研究,我发现了类,但我一直认为类的使用是为了避免重复编码相同的逻辑。在我的情况下,我会在每个标签上使用它们一次

根据您的偏好和所需的复杂程度,您可以使用或只创建一个for each选项卡来更好地分发代码。导致窗口的xaml看起来像:

<TabItem x:Name="tab_peerView" Header="Peers (Lobby)" Visibility="Visible">
    <Views:SomeUserControl1 />
</TabItem>
<TabItem x:Name="tab_PrepCheckList" Header="Prep" Visibility="Visible">
    <Views:SomeUserControl2 x:Name="view_prep" />
</TabItem>


使用这种方法,您还可以将命令绑定和相应的Execute和CanExecute等内容卸载到UserControls。

使用MVVM。有一个主视图模型,每个选项卡都有一个子视图模型属性(可能还有其他子视图模型)。使用datatemplates将子viewmodel类型与视图关联。将视图实现为用户控件。@EdPlunkett我明白了。re:你的最后一个问题,你说服了我。这里有一个地方可以回答这个问题(尽管它可能已经在这里了)。对有些人来说,这是不明显的。不知道该怎么办。@EdPlunkett你到底是什么意思?我的意思是,这个问题不应该被否决而被遗忘。