私は現在約5時間にわたってレスリングしている次の問題があります。ツリービューバインディング(バインドされたノードの間に 'Folder'があります)
次のクラス構造をTreeViewに正しくバインドするにはどうすればよいですか?
- Person #1
|-- Cars
|-- Car #1
|-- Car #2
|-- Houses
|-- House #1
- Person #2
|-- Houses
|-- House #1
|-- House #2
(パーソン#1は、住宅や自動車、人物#2だけ持って家の両方を有する場合) 地球上であなたにこれを行う方法:
public class Person
{
public string Display { get; set; }
public List<Car> Cars { get; set; }
public List<House> Houses { get; set; }
}
public class Car
{
public string Display { get; set; }
}
public class House
{
public string Display { get; set; }
}
私はTreeViewコントロールには、次の構造を持つようにしたいですXAMLでObservableCollectionへの自動データバインディングを使用していますか?
this.ItemsSource = SomeStaticClass.People;
ヘルプは非常に非常に高く評価されています は、私はこのような私のツリービューのコンストラクター(ユーザーコントロール)に一度だけバインド設定しました! ありがとう! =)
EDIT: 私はHierarchicalDataTemplateを試してみましたが、私はそれを動作させることはできません。)
EDIT2:私は多くの多くの異なるものを試してみましたが、私が来た最も近いと(コードに従っていますこの時点での心の中で一つだけ列挙;)):
<HierarchicalDataTemplate DataType="{x:Type e:Person}" ItemsSource="{Binding Cars}">
<TextBlock Text="{Binding Display}" />
<HierarchicalDataTemplate.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Cars}">
<TextBlock Text="Cars" />
<HierarchicalDataTemplate.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Display}" />
</DataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
</HierarchicalDataTemplate.ItemTemplate>
</HierarchicalDataTemplate>
残念ながら、それはTextBlockの車と車の人自身は表示されません。それ、どうやったら出来るの?
['HierarchicalDataTemplate'](http://msdn.microsoft.com/en-us/library/system.windows.hierarchicaldatatemplate.aspx)を試してみましたか? –
はい、私はこのテンプレートですべてを試しました。それは動作しません、私は何を試しても問題ではありません。 :) – Shion
あなたのテンプレートコードを表示 –