Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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

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
C# C1HierarchycalDataTemplate/C1TreeView问题_C#_Silverlight_Treeview_Hierarchicaldatatemplate_Componentone - Fatal编程技术网

C# C1HierarchycalDataTemplate/C1TreeView问题

C# C1HierarchycalDataTemplate/C1TreeView问题,c#,silverlight,treeview,hierarchicaldatatemplate,componentone,C#,Silverlight,Treeview,Hierarchicaldatatemplate,Componentone,我在使用C1HierarchycalDataTemplate在Silverlight中构建ComponentOne树视图(C1TreeView)时遇到问题。详细而言,该树仅显示2个级别(H1和H2),尽管3个级别是通过HierarchycalDataTemplates定义的,如: <c1:C1HierarchicalDataTemplate x:Key="H3Template"> <TextBlock FontWeight="Bold" Text="{Bin

我在使用C1HierarchycalDataTemplate在Silverlight中构建ComponentOne树视图(C1TreeView)时遇到问题。详细而言,该树仅显示2个级别(H1和H2),尽管3个级别是通过HierarchycalDataTemplates定义的,如:

<c1:C1HierarchicalDataTemplate x:Key="H3Template">
          <TextBlock FontWeight="Bold" Text="{Binding Path=Name}" />
     </c1:C1HierarchicalDataTemplate>

    <c1:C1HierarchicalDataTemplate x:Key="H2Template" ItemsSource="{Binding Path=H3Items}" ItemTemplate="{StaticResource H3Template}">
        <TextBlock FontWeight="Bold" Text="{Binding Path=Name}" />
    </c1:C1HierarchicalDataTemplate>

    <c1:C1HierarchicalDataTemplate x:Key="H1Template" ItemsSource="{Binding Path=H2Items}" ItemTemplate="{StaticResource H2Template}">
        <TextBlock FontWeight="Bold" Text="{Binding Path=Name}" />
    </c1:C1HierarchicalDataTemplate>");

");
我正在自定义TreeView(源自C1TreeView)中使用此模板:


此树视图的构造函数如下所示:

public MyTreeView(ObservableCollection<H1> h1Items)
{
    InitializeComponent();
    ItemsSource = h1Items;
}
公共MyTreeView(可观察到的收集项目)
{
初始化组件();
项目来源=H1项目;
}
有人能看到这些代码片段中的错误吗


thx,Dom

虽然我不熟悉您正在使用的ComponentOne树视图,而且尽管您正在使用Silverlight,但通常在WPF中,当您使用HierarchicalDataTemplates时,您会告诉模板它是用于什么类型的。子项模板也会被类似地告知它们适用于什么类型。您不会特别告诉告诉数据模板它的ItemTemplate要使用什么模板。这由系统根据对象的类型自动计算出来。这也适用于将项目集合绑定到TreeView时——您不必指定ItemTemplate

因此,在您的示例中(
local:
是在xaml顶部定义的名称空间):


树景:

<c1:C1TreeView ItemsSource="{Binding SomeH1List}"/>


当然,正如我所说的,这适用于WPF,因此它可能不适用于您的情况。

虽然我不熟悉您正在使用的ComponentOne树视图,而且尽管您正在使用Silverlight,但通常在WPF中使用HierarchycalDataTemplates时,您会告诉模板它的类型。子项模板也是类似的告诉他们应用于哪种类型。你不需要明确告诉数据模板它的ItemTemplate使用哪种模板。这由系统根据对象的类型自动计算出来。当你将一个item集合绑定到TreeView时,这也适用——你不必指定ItemTemplate

因此,在您的示例中(
local:
是在xaml顶部定义的名称空间):


树景:

<c1:C1TreeView ItemsSource="{Binding SomeH1List}"/>

当然,正如我所说,这适用于WPF,所以它可能不适用于您的情况

<c1:C1TreeView ItemsSource="{Binding SomeH1List}"/>