解决方案 »

  1.   

    可能你被什么“VC/MFC”这种只强调低级的编程而很少框架设计的东西给带坏了。如果你的视频上是给你演示“进行数据绑定,从而改变其Items”,那么你只要往所绑定的数据集合里插入或者删除数据就可以了,根本不用操作ListBox控件。增删改数据根本不用操作LixtBox,这才是使用ListBox进行UI开发的做法。
      

  2.   

    视频中确实只讲了数据绑定,但是我看ListBox.Items下有Add,Instert等方法,试着调用了一下,可是换了好几种方法总是报错。我想知道直接操作这些函数的方法,能给点建议吗?谢谢
      

  3.   

    而且网上Down了几个PDF,发现书中讲这些函数的几乎没没。
      

  4.   

    用法在c#里是一样的,增加元素: 
          m_listbox.Items.Add("a");
                m_listbox.Items.Add("b");
                m_listbox.Items.Add("c");
                m_listbox.Items.Add("d");
                m_listbox.Items.Add("e");
     private void button2_Click(object sender, RoutedEventArgs e)
            {
                for (int i = this.listBox1.SelectedItems.Count - 1; i >= 0; i--)
                {
                    this.m_listbox.Items.Add(this.listBox1.SelectedItems[i].ToString());
                    this.listBox1.Items.Remove(this.listBox1.SelectedItem);
                }
            }        private void button1_Click(object sender, RoutedEventArgs e)
            {
                this.m_listbox.Items.Insert(0, "aa");
            }
        }
      

  5.   


    建议wpf中不要像winform一样使用add的方法,这样动态操作对于获取单独元素的属性不是很方便。
    wpf中如果要动态给ListBox动态添加items,应该动态创建ListBoxItem添加。
    以下代码如果改为用add方法添加,则不能将对应的items转换为ListBoxItem类型从而无法获取ListBoxItem类型的属性。 ListBoxItem[] items = new ListBoxItem[]{
                new ListBoxItem(){Content="测试0"},
                new ListBoxItem(){Content="测试1"}
                };
                foreach (var item in items)
                    listbox1.Items.Add(item);
                listbox1.Items.Add("测试2");
                ListBoxItem i = listbox1.Items[0] as ListBoxItem;
                MessageBox.Show(i.Content.ToString());