man*_*ans 10 c# wpf xaml mvvm avalondock
我试图在我的wpf应用程序中使用AvalonDock,这是一个MVVM应用程序.环顾四周,我找不到任何示例应用程序显示我该怎么做.
AlavonDock表示它对MVVM有本机支持,所以它应该很容易支持mvvm,但是没有示例代码.
我的问题是:
小智 12
在CodeFlex AvalonDock源中有一个示例应用程序 - 它不包含在正常下载中.您需要转到" 源代码管理"页面并单击"下载".
此外,我写了一个示例应用程序,你也可以用上手,我写了一个快速的博客文章描述它,并把它放在GitHub上.
基本上,您可以设置LayoutItemContainerStyle桥接View和ViewModel之间的间隙,例如:
<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>
Run Code Online (Sandbox Code Playgroud)
在此示例中,DockManagerViewModel具有属性"Documents",其中包含具有Title,CloseCommand和CanClose属性的ViewModel集合.
| 归档时间: |
|
| 查看次数: |
21229 次 |
| 最近记录: |