Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 树视图绑定_C#_Silverlight - Fatal编程技术网

C# 树视图绑定

C# 树视图绑定,c#,silverlight,C#,Silverlight,我有一个数据库表,其中Id、Group和Items作为列。如何使用绑定对xaml模板进行编码,使列表显示为 第一组 项目1 项目2 第2组 项目3 既然你需要一个层次结构,我认为最好的方法就是建立一个层次结构。您必须事先将数据分组到所需的层次结构中,然后才能将treeview数据绑定到数据源中的顶级项,在您的情况下是“组”项 对于同样具有子项的项,您需要向树视图添加一个HierarchycalDataTemplate——这里很重要的一点是,您从中提取项的任何对象都必须支持包含子项集合的属性

我有一个数据库表,其中Id、Group和Items作为列。如何使用绑定对xaml模板进行编码,使列表显示为

第一组

  • 项目1
  • 项目2
第2组

  • 项目3

    • 既然你需要一个层次结构,我认为最好的方法就是建立一个层次结构。您必须事先将数据分组到所需的层次结构中,然后才能将treeview数据绑定到数据源中的顶级项,在您的情况下是“组”项

      对于同样具有子项的项,您需要向树视图添加一个
      HierarchycalDataTemplate
      ——这里很重要的一点是,您从中提取项的任何对象都必须支持包含子项集合的属性,这是在
      ItemsSource
      属性中配置的

      对于没有子项的项(示例中的“项”项),您可以添加常规的
      DataTemplate

      总之,treeview XAML的外观如下:

              <TreeView Name="myTreeView" ItemsSource="{Binding}" >
                  <TreeView.Resources>
                      <HierarchicalDataTemplate DataType="{x:Type GroupType}" ItemsSource="{Binding Items}">
                      </HierarchicalDataTemplate>
                      <DataTemplate DataType="{x:Type ItemType}">
                      </DataTemplate>
                  </TreeView.Resources>
              </TreeView>
      
          foreach(GroupType myGroup in myGroupCollection)
              myTreeView.Items.Add(myGroup);