TreeViewItems를 코드 숨김으로 수동으로 추가하고이를 표시하기 위해 DataTemplate을 사용하려고하지만 방법을 알 수 없습니다. 이런 일을하기를 바라고 있지만 항목은 빈 헤더로 표시됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?코드에 항목을 추가 할 때 TreeView에 ItemTemplate 사용
XAML
코드 뒤에<Window x:Class="TreeTest.WindowTree"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="WindowTree" Height="300" Width="300">
<Grid>
<TreeView Name="_treeView">
<TreeView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}" />
<TextBlock Text="{Binding Path=Age}" />
</StackPanel>
</DataTemplate>
</TreeView.ItemTemplate>
</TreeView>
</Grid>
</Window>
using System.Windows;
using System.Windows.Controls;
namespace TreeTest
{
public partial class WindowTree : Window
{
public WindowTree()
{
InitializeComponent();
TreeViewItem itemBob = new TreeViewItem();
itemBob.DataContext = new Person() { Name = "Bob", Age = 34 };
TreeViewItem itemSally = new TreeViewItem();
itemSally.DataContext = new Person() { Name = "Sally", Age = 28 }; ;
TreeViewItem itemJoe = new TreeViewItem();
itemJoe.DataContext = new Person() { Name = "Joe", Age = 15 }; ;
itemSally.Items.Add(itemJoe);
_treeView.Items.Add(itemBob);
_treeView.Items.Add(itemSally);
}
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
}
두 가지 솔루션 모두 작동합니다. 오랫동안 가져 가셔서 죄송합니다. 마지막에 트리를 사용하지 않고 대신 사용자 지정 계층 적 목록 상자를 구현했습니다. –
매트 만세! 내가 필요한 것 (두 번째 해결책) –