0

我的代码当前在窗口中接收 WPF 树视图对象并检索其属性。所以伪代码会是这样的:

            for each(Object ^item in m_objTreeView->Items)
            {
                // we only treat TreeViewItem elements here
                if (item->GetType()->Equals(TreeViewItem::typeid)
                    || item->GetType()->IsSubclassOf(TreeViewItem::typeid))
                {
                    TreeViewItem ^treeViewItem = safe_cast<TreeViewItem^>(item);
                    
                    // add treeView to the Sdk control
                    CTreeView::CTreeViewNode &sdkTreeViewNode = AddRootNode(*treeViewItem);
                    
                    // Go through its items and sub items now
                }
            }

由于我拥有的树视图对象是数据绑定对象,因此每个项目都是 DataRowView 类型。我找到了一种将其转换为 TreeViewItem 的方法,如下所示:

TreeViewItem ^treeViewItem = safe_cast<TreeViewItem^>
        (ItemContainerGenerator.ContainerFromItem(item));

但它没有像常规 TreeViewItem 那样的标题和其他属性,这是非常值得期待的。我的问题是,如果我们能够设法从 DataRowView 获取行和列值,是否可以通过我在这里编写的代码填充多列树视图?

注意:我仍在探索如何从 DataRowView 获取行和列文本或子复选框值。

如果有人也对这些有想法,那将不胜感激!

4

0 回答 0