gpt4 book ai didi

c# - AvalonDock:多工具窗口布局

转载 作者:行者123 更新时间:2023-12-03 10:35:29 24 4
gpt4 key购买 nike

我正在使用知名的对接库AvalonDock 2.0在我的 WPF 项目中。该库支持 MVVM,这就是我想要做的。 GitHub 上提供了示例 MVVM 测试应用程序.我下载了示例并将其扩展以显示我需要的布局,大致如下所示:

---------------------------
| | |
| | T1 |
| |----|
| Docs | |
| | T2 |
| |----|
| | |
| | T3 |
---------------------------

如您所见,我有一个主文档区域和一个工具区域,其中有 3 LayoutAnchorable停靠在右侧并垂直堆叠的 s。使用 MVVM,我的窗口的 ViewModel 公开了一个名为 Tools 的属性它返回一个包含我所有工具窗口的 ViewModel 的数组。然后我将此属性绑定(bind)到 AnchorablesSource我在 XAML 中的停靠控件的属性。

然而问题是 AvalonDock 将 3 个工具 Pane 显示为 3 个选项卡,而不是垂直堆叠它们。

这里有人用过 AvalonDock 和 MVVM 吗?我在这里的前进方向是什么?是否 LayoutInitializer类在解决这个问题上有什么作用吗?

最佳答案

后来的研究表明,这实际上是 LayoutInitializer 的工作。将 ViewModel 对象分配给我的 LayoutAnchorablePane 的类s。布局本身仍应在 XAML 中定义(如果您愿意,也可以通过代码隐藏)。从理论的角度来看,这也是正确的; ViewModel 不应该负责管理布局( View )。

关于c# - AvalonDock:多工具窗口布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31512432/

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