gpt4 book ai didi

WPF:建立我自己的分页项目列表....;)?

转载 作者:行者123 更新时间:2023-12-04 06:53:16 26 4
gpt4 key购买 nike

基于存储的原因,我在 XAML 图中有以下对象:

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

  • WorkArea、workSheets 是 ItemsControl 实例。

    开始:我在这里不使用标准元素的原因是我的元素将被加载/保存 - 它们代表一个业务内容(实际上是交易应用程序的工作区域),我希望那些“盈余”尽可能少“尽我所能。我特别不想被绑定(bind)到来自第三方并定期更改 dll 名称的用户级控件(在升级期间 - 主要版本在那里编码),我不确定我是否会完全替换它们,所以我宁愿和我自己的“ slim ”物体一起去。

    WorkArea 对应一个窗口(实际上有一个 WorkAreaWindow 会将 WorkArea 作为 ContentItem。

    WorkSheets 应该像 TabControl 一样工作 - 您可以在它们之间切换。

    我怎么做? ;)

    我得到的印象是,通过模板机制,我可以将工作表“可视化包装”为 TabControl 中的页面,但我几乎完全不知道如何操作。任何人都可以启发我吗?

    这是我走了多远:

    我的层次结构是 WorkArea -> WorkSheet(s) -> WorkItem(s)

    WorkArea 应显示为 TabControl,每个 WorkSheet 有一个选项卡。

    工作区域:
            <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,有一个 Tab。没有文字,所有内容都在一个选项卡中。有人知道如何进一步拆分吗?

    最佳答案

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

    关于WPF:建立我自己的分页项目列表....;)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825051/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com