You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AvalonDock 3.3.0.0 MVVM模式下LayoutAnchorable使用咨询

在AvalonDock中采用MVVM模式的开发实践

最近我在尝试用MVVM模式结合AvalonDock做WPF开发,整理了一段核心实现代码,分享给大家:

首先在ViewModel中定义用于管理锚定面板项的可观察集合属性:

Property Documents = New ObservableCollection(Of Xceed.Wpf.AvalonDock.Layout.LayoutAnchorable)

接下来是创建并添加自定义锚定面板项的代码:

' 实例化自定义用户控件(ViewReminders是我自己实现的简单用户控件)
Dim RemindersView As New ViewReminders 

' 创建新的LayoutAnchorable实例
Dim NewItem As New Xceed.Wpf.AvalonDock.Layout.LayoutAnchorable
NewItem.Title = "My Reminders" ' 设置面板显示标题
NewItem.ContentId = "MYID123" ' 设置面板的唯一标识ID
NewItem.Content = RemindersView ' 将自定义用户控件作为面板内容

' 将新创建的面板项添加到ViewModel的集合中
Documents.Add(NewItem)

关于XAML部分,这里为了简洁就不完整展示了,核心是把AvalonDock的对应容器控件(比如LayoutAnchorablePane)和ViewModel中的Documents属性做数据绑定,这样就能在界面上渲染出我们定义的锚定面板了。

内容的提问来源于stack exchange,提问作者Stelios

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:48:09