搞清楚:
第一。使用需要保存的内容创建您的 ViewModel + 创建一个简单的属性 Title
例如
Public Class MyViewModel : Implements INotifyPropertyChanged
Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged
Sub NF(ByVal PN As String)
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(PN))
End Sub
Sub New()
Title = "This is My Title"
End Sub
Property RefreshCommand As New MyCommands(AddressOf RefreshCommand_)
Private Sub RefreshCommand_()
MySomeList =' Get your list from SQL/ MANUALLY OR WITH WHAT EVER IT IS THAT.
End Sub
Private _Title As String
Property Title As String
Get
Return _Title
End Get
Set(value As String)
_Title = value
NF("Title")
End Set
End Property
Private _MySomeList As IEnumerable
Property MySomeList As IEnumerable
Get
Return _MySomeList
End Get
Set(value As IEnumerable)
_MySomeList = value
NF("MySomeList")
End Set
End Property
End Class
第二。将您的视图创建为 UserControl 或在您的 DockingManager 资源中作为 DataTemplates..(下面的示例 XAML)
Observable Collection 应该是包含 ViewModels 和 NOT Xceed.Wpf.AvalonDock.Layout.LayoutAnchorable
的对象类型
例如
Documents = New ObservableCollection(Of Object)
Dim DocumentsVM As New UserDashBoard.DocumentsVM
Documents.Add(DocumentsVM)
Dim CustomerBalancesVM As New UserDashBoard.CustomerBalancesViewModel
Documents.Add(CustomerBalancesVM)
Dim TransactionsVM As New UserDashBoard.TransactionsVM
Documents.Add(TransactionsVM)
Documents.Add(New UserDashBoard.RecurringTransactionVM)
然后在 DockingManagerResources 你定义你的 dataTemplates 像
<ad:DockingManager.Resources>
<DataTemplate DataType="{x:Type profile:CustomerBalancesViewModel}">
<DataGrid AutoGenerateColumns="False" AlternatingRowBackground="White" HeadersVisibility="None" GridLinesVisibility="None" >
<DataGrid.Columns>
<DataGridTextColumn Width="*" Binding="{Binding Name}"></DataGridTextColumn>
<DataGridTextColumn Width="50" Binding="{Binding Balance}" >
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="HorizontalAlignment" Value="Right"></Setter>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
</ad:DockingManager.Resources>
然后运行您的示例/test,您将看到您的视图..
至少这应该让您在更改其他模板或设置停靠管理器的样式之前启动。