2010-12-10 3 views
2

Silverlight 및 Caliburn Micro를 사용 중이며 트리에 자식 노드가 표시되는 데 문제가 있습니다. 트 리뷰는 그리드에 contaimed 여기 내 XAML 발췌입니다 :Silverlight 및 Caliburn Micro에서 TreeView 데이터 바인딩 문제가 발생했습니다.

<Grid.Resources> 
    <sdk:HierarchicalDataTemplate x:Key="AccountTemplate"> 
     <TextBlock Text="{Binding AccountNumber}" /> 
    </sdk:HierarchicalDataTemplate> 
    <sdk:HierarchicalDataTemplate x:Key="CategoryTemplate" 
            ItemsSource="{Binding CategoryServices}" 
            ItemTemplate="{StaticResource AccountTemplate}"> 
     <TextBlock Text="{Binding Path=CategoryName}" FontWeight="Bold" /> 
    </sdk:HierarchicalDataTemplate> 
</Grid.Resources> 

<Controls:TreeView Grid.Row="1" Grid.Column="0" 
    ItemsSource="{Binding FromAddressServices}" 
    ItemTemplate="{StaticResource CategoryTemplate}" x:Name="FromTreeView" /> 

바인딩 된 클래스입니다 :

public class AccountAtAddress 
{ 
    public string AccountNumber { get; set; } 
} 

public class ServiceCategory 
{ 
    public string CategoryName { get; set; } 
    public ObservableCollection<AccountAtAddress> CategoryServices; 
} 
내가 가진 문제는 첫 번째 수준 항목이 표시됩니다

있다고하지만 아이들 . 누구나이 작품을 만드는 방법에 대한 아이디어가 있습니까?

답변

3

당신은 공용 속성에 CategoryServices를 확인해야합니다. 공개 필드로 정의했으며 필드에서 데이터 바인딩 메커니즘을 사용할 수 없습니다.

+0

에 DataType을 찾을 수 없다는 오류가 발생합니다. 약간의 정보가 나에게 알려지지 않았습니다! 나는 그것을 기억할 것이다. – dna86

0

는 대신 다음보십시오 :

<Grid.Resources> 
    <sdk:HierarchicalDataTemplate DataType="AccountAtAddress"> 
     <TextBlock Text="{Binding AccountNumber}" /> 
    </sdk:HierarchicalDataTemplate> 
    <sdk:HierarchicalDataTemplate DataType="ServiceCategory" 
            ItemsSource="{Binding CategoryServices}"> 
     <TextBlock Text="{Binding Path=CategoryName}" FontWeight="Bold" /> 
    </sdk:HierarchicalDataTemplate> 
</Grid.Resources> 
+0

HierarchicalDatatemplate – dna86

관련 문제