jest przykładem aplikacji w CodePlex Źródło AvalonDock - to nie jest wliczone w normalnym pobrania. Musisz przejść do Source Control page i kliknąć "Pobierz".
Dodatkowo, napisałem przykładową aplikację, którą można również użyć, aby zacząć, napisałem quick blog post describing it i put it on GitHub.
Zasadniczo można ustawić LayoutItemContainerStyle
w celu wypełnienia luki między View i Twojego ViewModel, na przykład:
<Window ...
xmlns:dock="http://schemas.xceed.com/wpf/xaml/avalondock"
xmlns:dockctrl="clr-namespace:Xceed.Wpf.AvalonDock.Controls;assembly=Xceed.Wpf.AvalonDock"
>
...
<dock:DockingManager DataContext="{Binding DockManagerViewModel}"
DocumentsSource="{Binding Documents}" >
<dock:DockingManager.LayoutItemContainerStyle>
<!-- you can add additional bindings from the layoutitem to the DockWindowViewModel -->
<Style TargetType="{x:Type dockctrl:LayoutItem}">
<Setter Property="Title" Value="{Binding Model.Title}" />
<Setter Property="CloseCommand" Value="{Binding Model.CloseCommand}" />
<Setter Property="CanClose" Value="{Binding Model.CanClose}" />
</Style>
</dock:DockingManager.LayoutItemContainerStyle>
</dock:DockingManager>
</Window>
W tym przykładzie DockManagerViewModel ma właściwość „dokumentów” z kolekcją ViewModels które mają właściwość Title, CloseCommand i CanClose.
To jest naprawdę dobry przykład ... używanie AvalonDock 2.0 z paradygmatem projektowania MVVM – aggietech