使用datatemplate将viewmodel的集合绑定到tabcontrol

时间:2013-04-12 08:16:26

标签: wpf data-binding tabcontrol infragistics

我遇到了tab控件绑定到类似as in this post

的视图模型集合的问题
<Window.Resources>
  <ViewModel:MainViewModel x:Key="MainViewModel" />
  <DataTemplate DataType="{x:Type local:Foo1}">
    <local:UserControl1 />
  </DataTemplate>
  <DataTemplate DataType="{x:Type local:Foo2}">
    <local:UserControl2 />
  </DataTemplate>
  <DataTemplate DataType="{x:Type local:Foo3}">
    <local:UserControl3 />
  </DataTemplate>
</Window.Resources>
<igDock:XamDockManager x:Name="dm">
  <igDock:XamDockManager.Panes>
    <igDock:SplitPane>
      <igDock:ContentPane>
        <ContentControl>
          <local:Foo />
        </ContentControl>
      </igDock:ContentPane>
    </igDock:SplitPane>
  </igDock:XamDockManager.Panes>
</igDock:XamDockManager>
<DockPanel>
  <igDock:XamDockManager x:Name="dockManager">
    <igDock:TabGroupPane DataContext="{StaticResource ResourceKey=MainViewModel}"
                         SelectedIndex="{Binding SelectedTabIndex}">
      <igExtensions:ContentPaneFactory.PaneFactory>
        <igExtensions:ContentPaneFactory ItemsSource="{Binding TabCollection}"
                                         HeaderPath="Title"
                                         ContentPath="." />
      </igExtensions:ContentPaneFactory.PaneFactory>
    </igDock:TabGroupPane>
  </igDock:XamDockManager>
</DockPanel>

但正如上文所述,我看到viewmodel正在构建两次。当我尝试填充可观察的选项卡集合时,首先在MainViewModel中,当我尝试导航到tabitem时。

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:0)

我相信这个问题已经在您已经链接的Infragistics的论坛帖子中得到了解答。

如果您还有其他问题,我建议您在IG论坛上提问,因为您可以从IG专家处获得答案。