2010-12-10 5 views
2

Ich habe Silverlight und Caliburn Micro und habe ein Problem, Kinderknoten in den Baum zu bekommen. Das TreeView wird in einem Raster contaimed und hier ist mein XAML Auszug:TreeView DataBinding-Probleme mit Silverlight und Caliburn Micro

<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" /> 

Die Klassen, die gebunden sind:

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

public class ServiceCategory 
{ 
    public string CategoryName { get; set; } 
    public ObservableCollection<AccountAtAddress> CategoryServices; 
} 

Das Problem, das ich habe, ist, dass die erste Stufe Veröffentlichungen aber keine Kinder . Hat jemand Ideen, wie das funktioniert?

Antwort

3

Sie benötigen CategoryServices in ein öffentliches Eigentum zu machen. Sie haben es als öffentliches Feld definiert und der Datenbindungsmechanismus funktioniert nicht mit Feldern.

+0

danke - das kleine bisschen Informationen entging mir! Ich werde mich daran erinnern. – dna86

0

Versuchen Sie Folgendes statt:

<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

Ich bekomme einen Fehler, der besagt, DataType wurde nicht gefunden in HierarchicalDatatemplate – dna86