【问题标题】:WinRT/WPF - Displaying recursive data without TreeView or HeirarchicalDataTemplateWinRT/WPF - 在没有 TreeView 或 HeirarchicalDataTemplate 的情况下显示递归数据
【发布时间】:2012-07-04 19:43:11
【问题描述】:

所以在 Windows 8 Metro(使用 C#/WinRT)中,我的数据结构如下:

public class Comment
{
    public string body;
    public List<Comment> replies;
}

并且想在页面上显示它,但以前的方法现在在 WinRT 中不可用(TreeView 和 HeirarchicalDataTemplate)。在 Windows 8 中,无论如何现在都可以这样做吗?非常感谢您的帮助!

【问题讨论】:

    标签: data-structures recursion windows-8 microsoft-metro windows-runtime


    【解决方案1】:

    除了实现 TreeView 控件或寻找已经实现的控件 - 您可以拥有一个带有 ListView 的 Frame,它的 ItemsSource 绑定到一个 Comments 列表。您可以通过以下方式连接 ListView,即点击评论将导航到 Frame 中的另一个 Page,其中包含 ListView 和绑定到它的回复列表。后退按钮将在框架中导航回来,让您返回页面以获取父评论。

    编辑*

    WinRT XAML 工具包现在有一个TreeView 控件。看看吧:http://winrtxamltoolkit.codeplex.com/SourceControl/changeset/view/b0ee76bd6492#WinRTXamlToolkit/Controls/TreeView/TreeView.cs

    但请注意 - 这只是 Silverlight Toolkit 的一个粗略移植,可能效果不佳。此外,如果您计划将其作为 Windows 应用商店应用程序的一部分发布 - 您将需要对其进行大量重新设计,除非您的应用程序仅适用于桌面,因为它不是很适合触控。

    【讨论】:

    • O_O 谢谢...虽然看起来有点骇人听闻 :( 无论如何感谢您的帮助!
    • 这就是平台的文件选择器在您导航树时所做的...msdn.microsoft.com/en-us/library/windows/apps/… 我同意它在桌面环境中不太理想,我可以向您保证,我已经在与当前和思考实施进行对抗WinRT XAML 工具包中的 TreeView... :)
    • Silverlight Toolkit 中的TreeView 端口现已存在。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多