【问题标题】:Recursively retrieving all items in a TreeViewItem递归检索 TreeViewItem 中的所有项目
【发布时间】:2026-01-25 07:05:01
【问题描述】:

我有一个 RadTreeView(Telerik 的 TreeView 版本),它具有以下层次顺序:

<navigation:RadTreeView ImagesBaseDir="/Images/" x:Name="rtvLibrary" Margin="8" Grid.Row="0">
            <navigation:RadTreeViewItem DefaultImageSrc="Home.png" Header="Home" IsExpanded="True">
                <navigation:RadTreeViewItem DefaultImageSrc="Todo.png" Header="Tasks" />
                <navigation:RadTreeViewItem DefaultImageSrc="Flag.png" Header="Flagged" />
                <navigation:RadTreeViewItem DefaultImageSrc="Completed.png" Header="Completed" />
                <navigation:RadTreeViewItem DefaultImageSrc="Courses.png" Header="Courses">
                    <navigation:RadTreeViewItem DefaultImageSrc="Folder.png" Header="Winter 2010">
                        <navigation:RadTreeViewItem DefaultImageSrc="Course.png" Header="Health" />
                    </navigation:RadTreeViewItem>
                </navigation:RadTreeViewItem>
            </navigation:RadTreeViewItem>
        </navigation:RadTreeView>

在带有课程标题的 RadTreeViewItem 内,我将允许用户创建许多文件夹和课程(RadTreeViewItems)。那么如何使用课程标题迭代 RadTreeViewItem 中的所有 RadTreeViewItems?

【问题讨论】:

    标签: c# xaml treeview telerik


    【解决方案1】:

    那么我怎样才能遍历所有的 RadTreeViewItems

    不要这样做;而是将您的 TreeView 绑定到一个集合。这样您就不必操纵 UI 组件来访问数据,您将直接访问数据。通过保持 UI 和数据的良好分离,您的代码将更容易维护、测试和重用

    【讨论】:

    • 我不明白您的意思...这与 XML 无关(尽管如果对您有意义,您可以直接绑定到 XML 数据)
    • 我也不太明白你的意思。 (答案,不是评论)
    • 我不知道如何更好地解释它......看看MVVM模式,它应该有助于你理解。 msdn.microsoft.com/en-us/magazine/dd419663.aspx
    最近更新 更多