0

样本数据

UK
  -london
      -london 1
      -london --
      -london 100
  -Newcastle
      -Newcastle 1
      -Newcastle 2
      -Newcastle 3
  -liverpool
USA
  -New york
  -califonia
China
  -one
  -two

我有一个带有上面示例结构的 radTreeListView。radTreeListView 中的每个可选项目都有一个复选框,用户可以选中或取消选中以选中或取消选中该项目。

我的要求是确保用户只能选择同一个 rootItem/Parent 下的项目。

用户不应该能够在 UK 下选择一个项目,然后在 USA 或 China 下选择另一个项目。

然而,他们可以选择英国、伦敦 1、纽卡斯尔 3 和利物浦

我基本上想确保所做的所有选择都具有相同的 rootParent。

这就是检索所选项目的方式

 private void radTreeListView_SelectionChanged(object sender, SelectionChangeEventArgs e)
    {
        //Limit number of items that can be selected from the radTreeListView
        if (totalSelectedItems() > 3 && e.AddedItems.Count > 0)
        {
            radTreeListView.Unselect(e.AddedItems);
            radTreeListView.Rebind();
        }

        //Retrieve items selected from the radTreeListView 
        System.Collections.ObjectModel.ObservableCollection<object> selectedItems = radTreeListView.SelectedItems;
        StringBuilder userSelection = new StringBuilder();
        const string seperator = ", ";
        foreach (object item in selectedItems)
        {
            myDataclass myItems = (myDataclass)item;
            userSelection.Append(myItems.Name).Append(seperator);
        }
    }

我尝试了下面的代码,但父级返回 null

 object parent = radTreeListView.ItemContainerGenerator.ContainerFromItem(radTreeListView.SelectedItem);
4

1 回答 1

0

好的,我报告了同样的问题,这次在radTreeListView 周围提供了答案 - 只允许在相同的 rootItem 下选择项目

于 2013-11-07T18:59:32.650 回答