gpt4 book ai didi

wpf - 我应该使用页面、窗口还是用户控件

转载 作者:行者123 更新时间:2023-12-03 09:55:35 25 4
gpt4 key购买 nike

我正在开发一个新的桌面应用程序,它将具有多个 View ,例如仪表板、事件查看器、图表查看器等等。本质上,用户将在其中一个 View 之间切换,该 View 将覆盖整个屏幕,而不仅仅是屏幕的一部分。

我目前纠结于是否应该为每个仪表板、事件查看器、图表查看器等创建一个新的窗口、页面或用户控件。

我已经阅读并了解 Pages 是为导航而构建的,这反过来又让我保留了导航的历史记录,以便我可以后退/前进。但是,我认为我的桌面应用程序不需要该功能。

那么我可以使用 UserControl 或 Window 吗?或者每个应用程序应该只有一个窗口?

谢谢

最佳答案

窗口具有标题栏(包括最小/最大/关闭按钮等)之类的东西,可用于托管 XAML 元素,例如用户控件。

您当然不限于每个应用程序使用一个窗口,但某些应用程序会选择该模式(一个窗口,托管各种用户控件)。

当您创建新的 WPF 应用程序时,默认情况下您的应用程序配置(在 App.xaml 中)如下:

<Application x:Class="WpfApplication1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml">
<Application.Resources>

</Application.Resources>
</Application>
StartupUri属性告诉应用程序首先打开哪个窗口(如果你愿意,你可以配置它)

如果您想在逻辑上将 Window 分成几部分,并且不想在一个文件中包含太多 XAML,您可以执行以下操作:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Window1" Height="300" Width="300">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50" />
<RowDefinition />
</Grid.RowDefinitions>

<local:HeaderUserControl Grid.Row="0" />
<local:MainSectionUserControl Grid.Row="1" />
</Grid>
</Window>

在哪里 HeaderUserControlMainSectionUserControl是根据需要封装该窗口各个方面的用户控件。

如果要显示另一个窗口,可以在代码中调用 ShowShowDialog在您要显示的新窗口的实例上...

另外 - 是的,页面是 WPF 浏览器应用程序的一部分,旨在在 Internet Explorer 中查看。

关于wpf - 我应该使用页面、窗口还是用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5025504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com