Welcome

首页 / 软件开发 / .NET编程技术 / WPF TreeView Binding

WPF TreeView Binding2015-01-30Bind Treeview In WPF

TreeView Xmal

 <TreeView x:Name="TvWorkItem" Grid.Column="0" Grid.Row="2" Background="Black"ItemsSource="{Binding MenuDataSource}" SelectedItemChanged="TreeView_OnSelectedItemChanged"><TreeView.ItemTemplate > <span style="color:#ff0000;"> <HierarchicalDataTemplate ItemsSource="{Binding ChildItems}"><TextBlock Text="{Binding Name}" Background="Black" ></span> <TextBlock.Style ><Style TargetType="TextBlock"><Style.Triggers> <DataTrigger Binding="{Binding HasOutStandingTask}" Value="true"><Setter Property="Foreground"Value="DarkOrange"/> <Setter Property="FontSize" Value="16"></Setter> </DataTrigger><DataTrigger Binding="{Binding HasOutStandingTask}" Value="false"><Setter Property="Foreground"Value="Aqua"/> </DataTrigger></Style.Triggers></Style></TextBlock.Style></TextBlock></HierarchicalDataTemplate></TreeView.ItemTemplate></TreeView>

ViewModel

private ObservableCollection<MenuItem> _menuDataSource; public ObservableCollection<MenuItem> MenuDataSource { get { if (_menuDataSource == null) _menuDataSource = MenuOperation.LoadMenu(); return _menuDataSource; } set { _menuDataSource = value; RaisePropertyChanged(() => MenuDataSource); } }
Entity

public class MenuItem{public Guid Id { get; set; }public string Name { get; set; }public string OriName { get; set; }public bool HasOutStandingTask { get; set; }public <span style="color:#ff0000;">ObservableCollection<MenuItem></span> ChildItems { get; set; }public bool IsWorkItemType { get; set; }public WorkItemType WorkType { get; set; }public bool IsWorkItem { get; set; }}
From:csdn博客 _iorilan