我需要将样式应用于特定treeviewitem的ToggleButton。 如何使用treeviewitem访问ToggleButton?
treeviewitem处于控制模板中。
非常感谢
答案 0 :(得分:0)
您可以为TreeViewItem解析VisualTree(在VisualTreeHelper的帮助下),直到找到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不是TreeViewItem的直接子代(甚至可能不是),甚至可以递归递归)。