1

我考虑将我们在 Oracle Forms 中的一个应用程序重写为 C#/WPF(大约 15 个表单和一些库)。我读了很多关于 WPF 的优点/缺点的文章,我认为这是正确的方法。但我有一个问题。没有像 WinForms 中那样的 MDI 模式。现在我在 C#/WinForms 中创建新的应用程序。每个应用程序通常都有带有菜单的主窗体、登录屏幕、主窗体上打开其他窗体的按钮等。如何在 WPF 中实现这一点?我一次不需要多个表格。通常我创建 MDI 应用程序并在此窗口中打开每个表单(最大化,屏幕上一次只有一个表单) - 它具有通用的状态栏和标题栏。在 WPF 中,每个窗口都是独立的。我是否必须隐藏主窗口,打开新窗口(新表单),在窗口之间复制应用程序标题?这是一个有点奇怪的方式。我知道我可以使用页面或在选项卡中打开内容,但我不确定这是一个好方法。我也知道 PRISM,但它看起来像一个大框架——我不确定我是否需要它来用于这个中等大小的应用程序。

WPF 是否仅适用于小型应用程序,或者是否有构建更大业务软件的好模式?

4

2 回答 2

1

您可以使用ContentControl. 我一直都这样做,并且像一个魅力一样工作。在我看来,它比 MDI 表单和使用多个窗口都具有可用性优势。您不需要拉入 PRISM 来执行此操作。

尝试这样的事情

<ContentControl Content="{Binding SelectedViewModel">
    <ContentControl.Resources>
        <DataTemplate DataType="{x:Type viewModels:LoginViewModel}">
            <userControls:LoginView />
        </DataTemplate>

        <DataTemplate DataType="{x:Type viewModels:MainViewModel}">
           <userControls:MainView />
        </DataTemplate>
    </ContentControl.Resources>
</ContentControl>
于 2013-06-23T21:09:23.000 回答
0

我从事的主要项目是 WPF 业务应用程序。我们使用功能区菜单并在选项卡中托管我们的视图。

有一些框架会给你一个伪 MDI 的外观和感觉。这是一个例子

于 2013-06-23T21:06:18.907 回答