TreeView 데이터 바인딩(Hierarchical DataTemplate로 계층 구조 바인딩)
7647 단어 template
키 코드:
<UserControl.Resources>
<Common:HierarchicalDataTemplate x:Key="TreeNode" ItemsSource="{Binding Path=TreeNodes}">
<TextBlock FontWeight="Bold" Text="{Binding Path=Text}" MouseLeftButtonUp="TextBlock_MouseLeftButtonUp"/>
</Common:HierarchicalDataTemplate>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<sdk:TreeView x:Name="tree123" ItemsSource="{Binding Path=TreeNodes}" ItemTemplate="{StaticResource TreeNode}">
</sdk:TreeView>
</Grid>
namespace Tree
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
Tree tree = new Tree();
tree.TreeNodes = new List<TreeNode>();
for (int i = 0; i < 5; i++)
{
TreeNode child = new TreeNode();
child.Id = i;
child.Text = "root" + i.ToString();
child.TreeNodes = new List<TreeNode>();
for (int j = 0; j < i; j++)
{
TreeNode sub = new TreeNode();
sub.Id = j;
sub.Text = "sub" + j.ToString();
sub.TreeNodes = new List<TreeNode>();
child.TreeNodes.Add(sub);
for (int x = 0; x < 50; x++)
{
TreeNode subSub = new TreeNode();
subSub.Id = x;
subSub.Text = "subSub" + x.ToString();
sub.TreeNodes.Add(subSub);
}
}
tree.TreeNodes.Add(child);
}tree123.DataContext = tree;
}
private void TextBlock_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
TreeNode treenode = this.tree123.SelectedItem as TreeNode;
MessageBox.Show(treenode.Text);
}
}
}
:소스 코드
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Visual studio 2017에서 빨리 파이썬을 코딩<<준비>> VS2017에서 Raspberry PI에 액세스할 수 있도록 한다. /etc/samba/smb.conf에 추가 /etc/samba/smb.conf samba 재부팅 새 프로젝트에서 템플릿 Bottle 웹...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.