Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.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
Silverlight 自引用表的HierarchycalDataTemplate_Silverlight_Silverlight 4.0_Treeview_Hierarchicaldatatemplate - Fatal编程技术网

Silverlight 自引用表的HierarchycalDataTemplate

Silverlight 自引用表的HierarchycalDataTemplate,silverlight,silverlight-4.0,treeview,hierarchicaldatatemplate,Silverlight,Silverlight 4.0,Treeview,Hierarchicaldatatemplate,我尝试为Silverlight 4中的实现HierarchycalDataTemplate 它显示树状视图中的所有项目,如1级,而不是层次视图。它应该是项目的3个级别。 所以我被困在如何做。。。有线索吗?谢谢大家! <UserControl x:Class="TreeViewCRUD.MainPage" xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"

我尝试为Silverlight 4中的实现
HierarchycalDataTemplate

它显示树状视图中的所有项目,如1级,而不是层次视图。它应该是项目的3个级别。

所以我被困在如何做。。。有线索吗?谢谢大家!

<UserControl x:Class="TreeViewCRUD.MainPage"
 xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk"             
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:Crud="clr-namespace:TreeViewCRUD"
    mc:Ignorable="d"
    d:DesignHeight="300" d:DesignWidth="400">

    <Grid>
           <sdk:TreeView Height="403" Margin="0,0,0,0"  Name="TreeView1" Background="Beige" >
        <sdk:TreeView.ItemTemplate>
            <sdk:HierarchicalDataTemplate ItemsSource="{Binding Divisions}" >
                <TextBlock Text="{Binding Name, Mode=OneWay}" Margin="5,0"></TextBlock>
           </sdk:HierarchicalDataTemplate>                
        </sdk:TreeView.ItemTemplate>
    </sdk:TreeView>
    </Grid>
</UserControl>

我怀疑您的XAML是正确的(大部分是正确的),数据就是问题所在。我假设
lst
包含如下数据

ID    DivisionID  Divisions1
1     null        (List<Division>)
2     1           (List<Division>)
3     2           (List<Division>)
现在lst[0]。分区s1将是

ID    DivisionID  Divisions1
2     1           (List<Division>)
ID分区ID分区1
2.1(名单)
最后是lst[0]。Divisions1[0]。Divisions1将是

ID    DivisionID  Divisions1
3     2           (List<Division>)
ID分区ID分区1
3.2(名单)
验证来自WCF的数据是否带有完整的导航属性。即使
lst
显示所有3个元素,而不是最顶层的元素,您也应该能够从客户端过滤这些元素


我注意到的最后一件事是,您正在使用
ItemsSource=“{Binding Divisions}”
进行绑定。但是,在类图中,属性名称是
Divisions1

,具体在哪里?预期的行为是什么?当前的行为与此有何不同?@cadrell0它为我显示了树状视图中的所有项目,如1级,而不是层次视图。应该是3个级别的项目。@cadrell0我刚刚更新了我的问题,请看一下。谢谢您的输入!事实上,在WCF下我有这样一个命令:return db.Divisions.ToList();所以没有什么特别的。你能建议我是否需要将分区表转换成一些中间列表或。。。?如果是的话,怎么做?你是说在WCF下我必须构建你建议的结构吗?我在RIA服务级别找到了解决方案最后一件事是sdk:HierarchycalDataTemplate
ID    DivisionID  Divisions1
2     1           (List<Division>)
ID    DivisionID  Divisions1
3     2           (List<Division>)