【发布时间】:2022-07-15 17:33:59
【问题描述】:
在 WPF 中,我们有一个
Page
类,它允许我们在单个窗口中使用多页界面。在阿瓦洛尼亚怎么做?
-
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
在 WPF 中,我们有一个
Page
类,它允许我们在单个窗口中使用多页界面。在阿瓦洛尼亚怎么做?
您所描述的内容通常可以通过
TabControl
解决。
每个选项卡都可以有一个
TabViewModel
派生类实例作为其数据上下文进行绑定。
TabAViewModel : TabViewModel
{
}
TabBViewModel : TabViewModel
{
}
然后这些可以有自己的视图
*.axaml
文件......所以在这种情况下
TabAView.axaml
和
TabBView.axaml
。它们可以包含任意 UI。全屏内容或仅
Path
。
...
然后您可以收集
TabControl
也绑定的那些,等等类似于
MainViewModel.cs
...
MainViewModel : MyBaseViewModel
{
public ObservableCollection MyTabs { get; ... }
}
MainView.axal
然后看起来像这样。
现在请注意。这是伪代码,但它解释了概念以及事物如何结合在一起。我已经在 WPF 和 Avalonia 中完成了这项工作。
为什么是伪代码?
根据您使用的框架,它们会彻底改变有关如何执行此操作的实现细节。
在
Prism
中,您需要实现
RegionAdaptor
,在Avalonia 中,您可能需要
DataTemplateSelector
将
Views
连接到
ViewModels
,在WPF 中,这或多或少是可行的.
无论哪种方式,这个概念都是有效的。
【讨论】: