Добавление контента в TreeViewItem программно - PullRequest
4 голосов
/ 20 ноября 2011

Я пытаюсь создать новый TreeViewItem с элементом управления, например:

<TreeViewItem>
   <TreeViewItem.Header>
       <StackPanel>
           <Button/>
       </StackPanel>
   <TreeViewItem.Header>
<TreeViewItem>

За исключением того, что я хотел бы сделать это во время выполнения (я использую C #), но я не могу понять, как это сделать. Вы можете помочь?

Это мой код, который я использую для генерации узла. Где-то здесь я хотел бы вставить числовой элемент управления вверх / вниз. У меня пока нет этого элемента управления, но ради аргумента, скажем, я хочу вставить кнопку.

    private void TreeView_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
        if (TreeView.SelectedNode != null)
        {
            if (((vcvscompiler.DataTypes.dataObjectv)(TreeView.SelectedNode.Tag))._vcardName.re == "adr_work")
            {
                foreach (string k in ((vcvscompiler.DataTypes.dataObjectv)(TreeView.SelectedNode.Tag))._prefs)
                {
                    TreeViewItem newChild = new TreeViewItem();
                    newChild.Header = k;
                    treeView1.Items.Add(newChild);
                }
            }
        }
    }

WPF:

<Window.Resources>

    <DataTemplate x:Key="myTaskTemplate">
        <StackPanel>
            <Button content="This is a button!" />
        </StackPanel>
    </DataTemplate>

</Window.Resources>

1 Ответ

4 голосов
/ 20 ноября 2011
new TreeViewItem {
    Header = new StackPanel {
        Children = {
            new Button { ... }
        }
    }
}
...