以编程方式将内容添加到 TreeViewItem

发布于 2024-12-16 19:42:23 字数 1299 浏览 0 评论 0原文

我正在尝试创建一个新的 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>

I'm trying to create a new TreeViewItem with a control in it like:

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

Except, I'd like to do it at runtime (I'm using C#), but I can't work out how to do this. Can you help?

This is my code that I'm using to generate the node. Somewhere in here I would like to insert a numeric up/down control. I don't have that control yet, but for arguement's sake, let's say that I want to insert a button.

    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>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哎呦我呸! 2024-12-23 19:42:24
new TreeViewItem {
    Header = new StackPanel {
        Children = {
            new Button { ... }
        }
    }
}
new TreeViewItem {
    Header = new StackPanel {
        Children = {
            new Button { ... }
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文