从 TreeviewItem 访问 ToggleButton

发布于 2024-10-14 11:23:26 字数 78 浏览 2 评论 0原文

我需要将样式应用于特定树视图项的切换按钮。 如何使用树视图项访问切换按钮?

树视图项位于控件模板中。

非常感谢

I need to apply a style to the ToggleButton of a specific treeviewitem.
How can I access the ToggleButton using the treeviewitem?

The treeviewitem is in a controltemplate.

Many thanks

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

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

发布评论

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

评论(1

瑕疵 2024-10-21 11:23:26

您可以解析 VisualTree(借助 VisualTreeHelper) 找到 TreeViewItem 直到找到 ToggleButton(第一个 ToggleButton?具有特定名称的 ToggleButton?等),然后将其 Style 属性设置为您想要的样式,例如:(

public void RestyleToggleButton(TreeViewItem visual, Style new_style)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(visual); i++)
    {
        Visual childVisual = (Visual)VisualTreeHelper.GetChild(visual, i);
        if(childVisual is ToggleButton)
        {
            ((ToggleButton)childVisual).Style = new_style;
        }
    }
}

如果 ToggleButton 不是 a,甚至可能递归TreeViewItem 的直接子级(可能不是))。

You could parse the VisualTree (with the help of VisualTreeHelper) for the TreeViewItem until you find the ToggleButton (first ToggleButton? the ToggleButton with a certain Name? etc) and then set its Style property to the style you want, something like:

public void RestyleToggleButton(TreeViewItem visual, Style new_style)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(visual); i++)
    {
        Visual childVisual = (Visual)VisualTreeHelper.GetChild(visual, i);
        if(childVisual is ToggleButton)
        {
            ((ToggleButton)childVisual).Style = new_style;
        }
    }
}

(maybe even go recursively if the ToggleButton is not a direct children of the TreeViewItem (and probably it is not)).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文