WPF TreeView Binding

Bind 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>

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/net/

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; }
  }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索treeview
, string
, set
, get
, bool
public
wpf binding、wpf multibinding、wpf binding path、wpf templatebinding、wpf command binding,以便于您获取更多的相关知识。

时间: 2024-12-03 12:00:09

WPF TreeView Binding的相关文章

WPF TreeView 选择事件执行两次,获取TreeView的父节点的解决方法

1.TreeView选择事件执行两次 Very often, we need to execute some code in SelectedItemChanged depending on the selected TreeViewItem. ButSelectedItemChanged is called twice. This is due to stealing focus from the main window, which is screwing something up. Wha

How to search an item in a load-on-demand WPF Treeview with MVVM pattern?

问题描述 MrJoshSmithimplementedasearchmethodinhiswellknownarticle"SimplifyingtheWPFTreeViewbyUsingtheViewModelPattern".Butthisisimplementedonabatch-loadedWPFtreeview(hisfirstexamplesolution"TextSearch").WhatIwanttoknowis:Isitpossibletosear

WPF中TreeView.BringIntoView方法的替代方案

WPF中TreeView.BringIntoView()方法并不是那么地好用,不少时候会没有效果,这里有一个替代方案,调用SelectItem()方法可以展开并呈现TreeView上指定的Item: public static class TreeViewHelper { /// <summary> /// Expands all children of a TreeView /// </summary> /// <param name="treeView"

创建可编辑的xml文档(之一)绑定xml文档到treeview 控件

treeview|xml|创建|控件 目录:    介绍    绑定xml文档到treeview 控件    过滤xml 数据    执行拖放操作    执行删除,改名,插入操作    使用中的treeview 控件   通过xml 和xpath 你可以毫不费力的为你的treeview控件增加拖放甚至更多的功能-by Alex Hildyard   最近,我一直在开发一个用来维护在线目录的用户界面工具,因为这个目录包含太多的产品,所以用一些方法对他们分类是很有意义的.目录管理员将需要有删除和定义

创建可编辑的xml文档(之五)执行中的treeview 控件

treeview|xml|创建|控件|执行 执行中的treeview 控件  为了更完美,列表4包含了VB.NET version, or C# version 两个版本的最终treevie 控件.为了更容易使用,我重新定义了结构和代码.同时增加了KeyDown 控制来支持一些默认的快捷键例如:Control-N (新建), F2 (编辑), 和DEL (删除).  这里好象不必附加任何事件,因此最终的api 包含一个方法和八个属性,他们在表1中列出来了,他们大多数都是简单的标志,或者默认的开关

JS控制TreeView的结点选择_javascript技巧

网上有很多控制TreeView的checkbox选中,但是自己尝试的时候,要么报错,要么不可行.以下这种写法是经过验证有效的,仅作参考,思维比较巧妙! Tree: <asp:TreeView ID="treeViewDapartment" runat="server" SelectedNodeStyle-BackColor="GrayText" onclick="javascript:NodeCheck();" Font

WPF 自带Datagrid编辑后无法更新数据源的问题

原文  WPF 自带Datagrid编辑后无法更新数据源的问题 解决办法: 在列的绑定属性里加上UpdateSourceTrigger,示例XAML如下 <DataGrid Grid.Row="1" Height="274" HorizontalAlignment="Left" Margin="12,10,0,0" Name="dataGrid2" VerticalAlignment="To

WPF框架 QuickStart 数据绑定及附加属性

WPF QuickStart数据绑定(Data Binding) 首先看一下WPF Data Binding的概览, Binding Source可以是任意的CLR对象,或者XML文件等,Binding Target需要有依赖属性.这样便可以进行Data Binding.请看下面的示例, C# public partial class MainWindow : Window {     public MainWindow()     {         InitializeComponent()

wpf-WPF中Slider如何对它进行绑定?比如绑定一个List&amp;amp;lt;string&amp;amp;gt;或者String[]

问题描述 WPF中Slider如何对它进行绑定?比如绑定一个List<string>或者String[] 比如,一个List或者String[]里面是从小到大的没有特定规律的String类型,那么Slider的Value就必须在 这个List或者String[]的里面的数据进行滑动,每单击或者滑动一次它的值只能是List或者String[]里面的值,请问各位大神,如何实现?多谢! 解决方案 Slider不需要绑定,直接取你的List的Count作为MaxValue,当Slider改变的时候,如