Cocomico
Cocomico

Reputation: 898

WPF TreeView Children Nodes not shown on parent focus

I am using a TreeView control in my Application but I am having trouble understanding a basic concept. In some examples the tree is used like this:

<TreeView>
  <TreeViewItem Header="Managers">
    <TextBlock Text="Michael" />
    <TextBlock Text="Paul" />
  </TreeViewItem>
  <TreeViewItem Header="Project Managers">
    <TextBlock Text="John" />
    <TextBlock Text="Tim" />
    <TextBlock Text="David" />
  </TreeViewItem>
</TreeView>

I used this but when I give focus to a Tree node containig children, The text of the children dissapears. What could be wrong with this code?

Upvotes: 0

Views: 166

Answers (2)

seeb
seeb

Reputation: 87

If you need to use TextBlock for any reason you can do it like this.

    <TreeView>
    <TreeViewItem Header="Managers">
        <TreeViewItem>
            <TreeViewItem.Header>
                <TextBlock Text="Michael" />
            </TreeViewItem.Header>
        </TreeViewItem>
        <TreeViewItem>
            <TreeViewItem.Header>
                <TextBlock Text="Paul" />
            </TreeViewItem.Header>
        </TreeViewItem>
    </TreeViewItem>
    <TreeViewItem Header="Project Managers">
        <TreeViewItem>
            <TreeViewItem.Header>
                <TextBlock Text="John" />
            </TreeViewItem.Header>
        </TreeViewItem>
        <TreeViewItem>
            <TreeViewItem.Header>
                <TextBlock Text="Tim" />
            </TreeViewItem.Header>
        </TreeViewItem>
        <TreeViewItem>
            <TreeViewItem.Header>
                <TextBlock Text="David" />
            </TreeViewItem.Header>
        </TreeViewItem>
    </TreeViewItem>
</TreeView>

To get a basic understanding of TreeView this article might be helpful.

Upvotes: 1

Bruno Joaquim
Bruno Joaquim

Reputation: 1473

I think this problem occurs due a style problem, you can solve this with the workaround bellow.

<TreeView>
    <TreeViewItem Header="Managers">
        <TreeViewItem Header="Michael" />
        <TreeViewItem Header="Paul" />
    </TreeViewItem>
    <TreeViewItem Header="Project Managers">
        <TreeViewItem Header="John"/>
        <TreeViewItem Header="Tim" />
        <TreeViewItem Header="David" />
    </TreeViewItem>
</TreeView>

Upvotes: 1

Related Questions