.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Win Surprise Gifts!!!

Top 5 Contributors of the Month
Gaurav Pal
Post New Web Links

Styling a complex HierarchicalDataTemplate for TreeView

Posted By:      Posted Date: October 19, 2010    Points: 0   Category :WPF
I've got a (reasonably) complex hierarchy that I would like to display in a TreeView. In fact I can quite easily display the hierarchy in a TreeView - the problems start when I want to style those hierachy items.

Let me try to explain the data structure initially:

I have an "organisation" which contains collections of sub-"organisations" and "people".
"People" can contain collections of "items".
"Item" is a leaf node which does not contain any further children.

I make use of the excellent ComplexDataTemplates control library and my TreeView and it's associated HierarchicalDataTemplates is described thus:

      <!-- IEnumerable[OrganisationViewModel] -->
<HierarchicalDataTemplate x:Key="IEnumerable[OrganisationViewModel]" ItemsSource="{Binding Path=.}">
<TextBlock Text="Sub-units" />

<!-- OrganisationViewModel -->
<HierarchicalDataTemplate DataType="{x:Type vm:OrganisationViewModel}">

View Complete Post

More Related Resource Links

TreeView, HierarchicalDataTemplate - How to show sibling collections?


I have an object model (I am using LINQ) that has a HealthCenter as the top level object.  HealthCenter has a Sites collection and a Providers collection. 


Ideally, I want to show this in a TreeView like:


HealthCenter 1


        Site 1


        Site n


        Provider 1


        Provider n


HealthCenter n




I could also live without the Sites and Providers nodes (which are not _really_ part of my objects, just logical) if I had to, as long as I can apply different templates to each type.  So far I've been unable to figure out how to do this.

HierarchicalDataTemplate in TreeView


I'm have the xml file:

    <Interaction DateCreated="633237231760000000" Index="0" InteractionId="EmailOutReply_0000Da3CUJMW003D-15" IsArquived="False" Status="UNKNOWN" Subject="Re: Test Data" Type="EMAIL_OUT_REPLY">
      <Sender Email="make@make.com" Personal="Make Make" />

And I have to show in Treeview this way:

--> DateCreated
        --> Time    Subject    Status
                --> Personal    Sender

--> 08/01/2008
        --> 03:00 PM    Re: Test Data    UNKNOWN
                -->    Make Make    make@make.com
        --> 04:00 PM    Re: Test Data    UNKNOWN
                -->    Make Make    make@make.com
--> 08/02/2008
        --> 05:00 PM    Re: Test Data    UNKNOWN
                -->    Make Make    make@make.com
        --> 06:00 PM    Re: Test Data    UNKNOWN
                -->    Make Make    make@make.com

WPF Treeview - Binding to a collection with different depths, and styling differently


Apologies for the long post -- Read a few threads about this, but still find it hard to implement. Basically, I have a collection of objects, defined as:

public class LibData
  public string Name { get; set; }
  ObservableCollection<LibObject> _list;
  public ObservableCollection<LibObject> List { get { return _list; } }

  public LibData(string name, LibDataType type)
    this.Name = name;
    _list = new ObservableCollection<LibObject>();

jQuery: Styling DropDownList Alternating Items (Rows)

In the following example, I will show how you can style any asp:dropdownlist very easily.

The example demonstrates how you can change alternating row items background color, using the fadeTo() to add a nice touch in the dropdownlist. You can change alt rows with a couple lines.

MVC too complex?


I believe lot of people will disagree with me on this one. But the MVC model sucks. The reason:

1.       Over complicated;

2.       Cannot handle complex UI;

3.       Hard to debugging as code scattered all over the place.

JQuery Treeview plugin is not working with Ajax page load in ie8


Hi there,

I developed a page where i m using jquery treeview plugin to generate tree. It worked fine on FF, IE8 with out ajax.

But when my page loads thro' ajax call in IE8, it is not collapsing or expanding tree.

Any idea?

Thanks in advance.

styling dropdownlist problem


Dear All,

im facing a problem while styling my ddl, what i did is:

<div><asp ropDownList ID="DropDownList1" runat="server" style="background-color:Transparent;" Width="100%">
    </asp: dropDownList></div>

<div class="stlGradient">
<asp ropDownList ID="DropDownList1" runat="server" style="background-color:Transparent;border:none;" Width="100%"></asp: dropDownList>

the DIV style is having a bg image repeated X.

now this worked on Firefox
on google Chrome: the border gone but the background still white
on IE 7: nothing happend

thanks for helping.

How do I persist custom complex types in design-time


Let's say that I've got one custom webcontrol called MyControl.

public partial class MyControl: WebControl {
public IComplex Complex { get; set; }

The control is a very simple control but it holds an instance of a complex type that is accessable through a property. The property has the propertytype IComplex

public interface IComplex {
string Name { get; set; }
List<IComplex> Children {get;}

Let's say that I am able to pick one of several different types of object that derives from IComplex in design-time and assign it to the controls property "Complex" property.

Naturally I would like to persist this information to the HTML-View in a user-friendly way.

Because we don't know what type the user has picked there is no way to instansiate the type if we don't persist the name of that type. The Type could also contain more properties than the Interface the controls property is refering.

<cc1:MyControl id="MyControl1" runat="server">
<Complex> <!-

Input Validation: Enforcing Complex Business Data Rules with WPF


Windows Presentation Foundation has a rich data binding system that includes flexible support for business data validation. We take a look at implementing some complex data input validation scenarios that include customized data errors for users.

Brian Noyes

MSDN Magazine June 2010

Text Rendering: Build World-Ready Apps Using Complex Scripts In Windows Forms Controls


The System.Windows.Forms.TextRenderer class provides support for complex scripts in Windows Forms controls so you can render text the way you want and support international locales.

Miguel A. Lacouture

MSDN Magazine March 2006

TreeView Help


Why the label.text is not showing the correct result after clicking three time on treeview.

I have TreeView1 and TreeView2 on my webpage and a label1
TreeView1 a list of items and TreeView2 contains another list of items

Now the first time I click on TreeView1 on the first item which is "Hello" label1.text show me Hello
the second time when I click on TreeView2 on the first item which is "World" label1.text show me World
the third time I clicked on TreeView1 on the first item again which is "Hello" label1.text show me World.  label1.text suppose to show me Hello, right?

What could be the problem what am I missing?

protected void TreeView1_SelectedNodeChanged1(object sender, EventArgs e)
Label1.Text = TreeView1.SelectedValue;
protected void TreeView2_SelectedNodeChanged(object sender, EventArgs e)
Label1.Text = TreeView2.SelectedValue;

Treeview: Select all children if Parent is selected etc...



I'm using a Treeview with  ShowCheckBoxes="All" , so basically I have a tree with all CheckBox Nodes. I'm using the TreeView inside an update panel, and populate the Tree code behind dynamically.

My requrements are the following:

1) Select all the children if parent is selected,

2) When parent is selected, and if we de-select a child, set parent unselected

3) Track if new nodes were selected and previously selected nodes were de-selected (becasue I need to update the database according to the selections in the Tree)

For above 1, I do the following:

protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
        foreach (TreeNode node in TreeView1.Nodes)
            TreeNodeCollection col = node.ChildNodes;
            //select all children when the parent is checked
            if (col != null && node.Checked)

Treeview problems in Update panel



I tried using this code, on a Treeview inside an update panel, which is populated dynamically in code behind. 

However, it doesnt give me the required functionality.

Following is my aspx code for the TreeView and the TreeView populating logic:


<div id="treelist">
<asp:UpdatePanel ID="UpdatePanel1&quo

Super Complex Table/Matrix



I'm in a situation where I have to build a super complex table or rather matrix

This is how the table/matrix should look like: 




The complex thing is that everything is taken from a database.


I will try to explain the color sections one by one.


SERIE (Green area)

If we start with the top columns; SERIE 1, SERIE 2, SERIE 3

These values are coming from a table column value. If this column has the value 3 then I will need to print 3 table cells, just like in the image.




Then there is the outer left columns, that goes like this;

Behandlingsdag (meaning day of treatment)

Osplatin (100 mg/m2)

Leucovorin (x)

And so forth.


All these values are also coming from 3 different tables



One Column (Yellow area)

These cells are getting their values from a table. According to some true og false values.



1, 2, 3, 4 (Red area)

Then there is the table cells below the SERIES. These table cells goes like this

First there is a 1, then there are the tables cells 1 to 18 all below

(Imperfect) Solution to TreeView Postback / Client-Side Node Selection Issue


I've seen this question posted on all corners of the web... "How do I disable "AutoPostBack" on the ASP.NET 2.0 TreeView control?!"  Unfortunately, most of the answers either don't work, miss the point (don't work right), or boil down to "You can't do it."  I happen to know that this behavior worked perfectly in the IEWebControls TreeView that Microsoft released as an add-on prior to ASP.NET 2.0, however.  So I set out to find a solution for the ASP.NET 2.0 TreeView issue.

In a nutshell, the behavior that I and others are looking for is to have a TreeView rendered in a page that allows the user to expand, contract, and select nodes within the TreeView without causing a PostBack to the server.  This implies two things: (1) the most recently-selected node should be recorded as the currently-selected node [i.e., at PostBack time, the most-recently selected node is actually represented as the SelectedNode]; and (2) the selected node should exhibit the SelectedNodeStyle as specified in the TreeView declaration.

It appears that the TreeView engineers saw only two possible outcomes from selecting a leaf node in a tree: (1) immediately posting back to the server, or (2) immediately navigating to another web page.  They apparently did not consider option (3) just allowing selection in-place on the client, while waiting for a click on so

Asp.Net Treeview Drag n Drop


Hello all

How to make asp.net treeview drag and drop enabled on web. I am unable to find any javascript and there is not any event to make treeview drag and drop enabled.

Kindly suggest me how to use drag and drop facility in treeview.

I don't want to use any third party utility.

waiting for reply..........


Thanks in advance

TreeView control:


I want to bind a treeview control so that it display exactly like outlook inbox. How can I do that? 

Note: All data are coming from a single sql table even though you can create to statement to get the child and parent. Please help 

ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend