WPF TreeView никогда не заполняется с помощью HierarchicalDataTemplate - PullRequest
0 голосов
/ 20 ноября 2010

С кодом ниже мое древовидное представление никогда не заполняется. Кто-нибудь может увидеть, что я делаю не так?

спасибо

public class FouList
{
  public string Source { get; set; }
  public List<FouData> ListOfFou { get; set; } 
}

 public struct FouData
{
   public string Name { get; set; }
}

<Window.Resources>
 <HierarchicalDataTemplate DataType="{x:Type local:FouList}"
                              ItemsSource="{Binding Path=ListOfFou}">
    <Border BorderBrush="Black"
                BorderThickness="2"
                CornerRadius="10">            
            <TextBlock Margin="10,0,0,0"
                           Text="{Binding Source}"></TextBlock>

    </Border>
</HierarchicalDataTemplate>
<HierarchicalDataTemplate DataType="{x:Type local:FouData}">
    <Border BorderBrush="Black"
                BorderThickness="2"
                CornerRadius="10">           
            <TextBlock Margin="10,0,0,0"
                           Text="{Binding Name}"></TextBlock>               

    </Border>
</HierarchicalDataTemplate>
</Window.Resources>


<TreeView Margin="26,0,35,12" Name="treeView1" Height="298"
   ItemsSource="{Binding Path=FouList}" VerticalAlignment="Top"/>

FouList FL = new FouList();
//code to populate FL
//I've debugged and can see it populating correctly
treeView1.DataContext = FL;

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

ItemsSource привязка treeView1 неверна. Я полагаю, вы намереваетесь связать со свойством ListOfFou, а не FouList.

<TreeView Margin="26,0,35,12" Name="treeView1" Height="298"
          ItemsSource="{Binding Path=ListOfFou}" VerticalAlignment="Top"/>
0 голосов
/ 20 ноября 2010

Я бы попробовал либо поменять

List<FouData> ListOfFou  { get; set; } 

до

ObservableCollection<FouData> ListOfFou { get; set; }

или распространение изменения с помощью NotifyPropertyChanged("ListOfFou");

...