2011-01-31 8 views
0

データバインドには奇妙な問題があります。私はリストをツリービューにバインドしようとしています。何らかの理由でバインディングの一部として作成された項目を選択できます。WPFデータバインディングツリービューに奇妙なリストを表示する

バインド出典:背後に

<TreeView Name="paramTree" 
      BorderBrush="DarkSlateGray" 
      Margin="0,0,0,1"> 
    <TreeViewItem Name="systemNode" 
        Header="System Info" 
        ItemsSource="{Binding}"> 
     <TreeViewItem.ItemTemplate> 
      <DataTemplate> 
       <TreeViewItem Header="{Binding}"/> 
      </DataTemplate> 
     </TreeViewItem.ItemTemplate> 
    </TreeViewItem> 
</TreeView> 

コード:これはSystem.Environmentのすべてのプロパティで「システム情報」ノードのサブツリーを作成し

private PropertyList sysList = new PropertyList(typeof(System.Environment)); 

public MainWindow() 
{ 
    InitializeComponent(); 
    . 
    . 
    systemNode.DataContext = sysList; 
} 

class PropertyList : List<string> 
{ 
    public PropertyList(Type t) 
    { 
     // Get properties of this type 
     PropertyInfo[] propertyInfo = t.GetProperties(); 

     foreach (PropertyInfo property in propertyInfo) 
     { 
      Add(property.Name); 
     } 
    } 
} 

が、私はすることができます」新しいTreeViewItemsのいずれかをクリックしてください...ヘルプ?

答えて

2

ちょうどこのを見てから、私は私が間違っているなら、私を修正し、それはその古い問題だと仮定し...

TreeViewコントロールが自動的にあなたの商品を中心にツリービューアイテムを生成します。あなたのItemTemplateは以下のようになります:

<TreeViewItem.ItemTemplate> 
     <DataTemplate> 
      <TextBlock Text="{Binding}"/> 
     </DataTemplate> 
    </TreeViewItem.ItemTemplate> 
+0

Doh、私はちょっとばかげています。ありがとう! – FlyingStreudel

+0

私たちの最善を尽くす:) –

関連する問題