2011-01-28 7 views
0

特定のツリービュー項目のToggleButtonにスタイルを適用する必要があります。 treeviewitemを使用してToggleButtonにアクセスするにはどうすればよいですか?TreeviewItemからToggleButtonにアクセスする

treeviewitemはcontroltemplateにあります。

感謝

答えて

0

あなたはトグルボタンを見つけるまでは、ツリービューアイテムのために(VisualTreeHelperの助けを借りて)VisualTreeを解析することができ(特定の名前を持つ最初のトグルボタン?トグルボタンを?など)、その後にそのスタイルのプロパティを設定します必要なスタイル、のようなもの:

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; 
     } 
    } 
} 

(トグルボタンは、ツリービューアイテムの直接の子ではない(そしておそらくそれがない場合は多分再帰的に行きます))。

関連する問題