问题描述
我有一个基于AvalonDock的UI,其中至少包含三个静态LayoutDocumentPanes。如何动态地用不同的UserControl集合填充这些窗格?
我发现,我可以为整个DockingManager设置一个DocumentSource
,然后可以使用此Collection生成所有窗格的元素。
我可以使用多个源集合,还是可以为每个LayoutDocumentPane过滤我的集合?
<xcad:DockingManager
DocumentsSource="{Binding MyUserControls1}">
<xcad:DockingManager.Resources>
<DataTemplate DataType="{x:Type local:MyUserControl}">
<local:MyUserControl/>
</DataTemplate>
</xcad:DockingManager.Resources>
<xcad:LayoutRoot>
<xcad:LayoutPanel Orientation="Horizontal" >
<xcad:LayoutPanel Orientation="Vertical" DockWidth="6*">
<xcad:LayoutPanel Orientation="Horizontal">
<xcad:LayoutDocumentPaneGroup>
<xcad:LayoutDocumentPane>
<!-- UserControls from ObservableCollection 1-->
</xcad:LayoutDocumentPane>
</xcad:LayoutDocumentPaneGroup >
<xcad:LayoutDocumentPaneGroup>
<xcad:LayoutDocumentPane >
<!-- UserControls from ObservableCollection 2-->
</xcad:LayoutDocumentPane>
</xcad:LayoutDocumentPaneGroup >
<xcad:LayoutDocumentPaneGroup>
<xcad:LayoutDocumentPane >
<!-- UserControls from ObservableCollection 3-->
</xcad:LayoutDocumentPane>
</xcad:LayoutDocumentPaneGroup >
</xcad:LayoutPanel>
</xcad:LayoutPanel>
</xcad:LayoutPanel>
</xcad:LayoutRoot>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)