如何在WPF中构建经典的业务应用程序(如在WinForms中)

本文关键字:应用程序 如在 WinForms 业务 经典 WPF 构建 | 更新日期: 2023-09-27 18:19:31

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

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

如何在WPF中构建经典的业务应用程序(如在WinForms中)

您可以使用ContentControl在一个窗口中托管多个控件。我一直这样做,工作起来很有魅力。在我看来,它比MDI表单和使用几个窗口都有可用性优势。你不需要拉进棱镜来做这件事。

试试这个

<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>

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

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

的一个例子
相关文章: