【问题标题】:WPF treeview item type variableWPF 树视图项目类型变量
【发布时间】:2016-04-24 00:30:13
【问题描述】:

我在 autocad API 中使用 WPF 类型的用户控件。

将新节点调暗为 System.Windows.Controls.TreeViewItem newnode = mypalette2.treeview1.Items.Add(e.DBObject.GetType().ToString())

但它给出错误“整数值不能转换为treviewitem”

请帮忙!

【问题讨论】:

    标签: wpf vb.net autocad


    【解决方案1】:

    Add() 返回项目被添加到“Items”集合的索引,而不是 TreeViewItem 对象本身。使用索引从 Items 集合中获取 TreeViewItem:

    未经测试的代码,但应该这样做(不要这样写 - 让它更干净;)):

    Dim newnode As System.Windows.Controls.TreeViewItem newnode = mypalette2.treeview1.Items(mypalette2.treeview1.Items.Add(e.DBObject.GetType().ToString()))
    

    理想情况下,您首先要检查以确保 Add() 没有返回 -1,这意味着 Add 操作失败。

    【讨论】:

      【解决方案2】:

      我更喜欢:

      Dim newNode As New TreeNode
      newNode.Text = e.DBObject.GetType().Name
      newNode.Tag = e.DBObject.ObjectId
      _treeView.Nodes.Add(newNode)
      

      并且建议您使用实体的 ObjectId 设置 Tag 属性,否则您以后无法在代码中引用此项目(在树视图上)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-27
        • 1970-01-01
        • 1970-01-01
        • 2010-12-26
        • 1970-01-01
        • 1970-01-01
        • 2014-03-21
        相关资源
        最近更新 更多