2010-05-13 42 views
2

基于storabiligty的原因,我有一个XAML图中的下列对象:WPF:建立我自己的分页项目列表....;)?

  • 一个工作区,
  • 包含的工作表,
  • 包含工作项

工作区,工作表的ItemsControl实例。

开始:我在这里没有使用标准元素的原因是我要加载/保存 - 他们代表一个商业竞争(实际上是一个交易应用程序的工作区域),我希望那些有尽可能少的“剩余”因素。我特别不希望被绑定到来自第三方的用户级别控制,并定期更改dll名称(在升级期间 - 主要版本在那里编码),我不确定我是否不会替换它们,所以我宁愿去我自己的“苗条”的对象。

的工作区对应一个窗口(实际上是有WorkAreaWindow,将采取的工作区为ContentItem

工作表都应该像一个TabControl的工作 - 你可以在它们之间进行切换

怎么办。我这样做?;)

我得到的印象是模板机制我可能会“可视化”工作表作为页面在TabControl中,但我几乎完全失去了如何。任何人都可以启发我吗?

这里是我有多远了:

我Herarchy是工作区 - >工作表(S) - >工作项目(S)

WORKAREA应作为一个TabControl,每个工作表一个标签。

WORKAREA:

 <local:WorkArea x:Name="WorkArea"> 
      <local:WorkArea.Template> 
       <ControlTemplate> 
        <TabControl> 
         <ItemsPresenter /> 
        </TabControl> 
       </ControlTemplate> 
      </local:WorkArea.Template> 

      <local:WorkArea.ItemTemplate> 
       <DataTemplate> 
        <TabItem Header="{Binding Path=Title}"> 
         <ContentPresenter /> 
        </TabItem> 
       </DataTemplate> 
      </local:WorkArea.ItemTemplate> 
      <local:WorkSheet Title="Markets"> 
       <local:WorkTile local:WorkSheet.Row="2" local:WorkSheet.Column="3"> 
        test-11 

我现在可以看到的是一个TabControl,一个标签。没有文字,一个标签中的所有内容。任何人有一个想法如何进一步分裂?

回答

3

您应该仔细阅读Josh Smith对MVVM here的介绍,并查看演示应用程序源代码。演示应用程序几乎正是你所要求的。它基于使用数据模板,可观察集合绑定和tabcontrol/tabitem的“联系人”数据的自定义类动态生成选项卡式界面。一些MVVM和命令的东西可能不是你的东西,但是一部分代码会做你正在寻找的东西。 XAML根本没有代码。您可以简单地将窗口的数据上下文设置为您的工作区类实例,该实例将具有可观察的工作表集合,该工作表集合又具有可观察的工作项集合和项目/数据模板将完成所有工作。