2011-11-20 1 views
3

내가 좋아하는 그것의 제어 새로운 TreeViewItem을 만들려고 해요 , 그러나 나는 이것을하는 방법을 해결할 수 없습니다. 도울 수 있니?추가 내용이 프로그램

이것은 노드를 생성하는 데 사용하는 코드입니다. 여기 어딘가에 숫자 위/아래 컨트롤을 삽입하고 싶습니다. 나는 아직 컨트롤을 가지고 있지 않지만, 논쟁의 여지가 있기 때문에 버튼을 삽입하고 싶다고합시다.

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

당신은 자원에'DataTemplate'을 할 수 있나요? – SLaks

+0

죄송합니다. 나는 당신이'.HeaderTemplate'을 사용하고 있다고 생각했습니다. – SLaks

답변

4
new TreeViewItem { 
    Header = new StackPanel { 
     Children = { 
      new Button { ... } 
     } 
    } 
} 
+0

감사합니다. 이것은 정말 도움이 :) – user646265

+0

어쨌든, 어떻게 새 컨트롤에 이벤트를 추가 할 수 있습니다. 그들은 맥락에서 인식되지 않는 것 같습니다. – user646265

+1

이벤트 처리기를 추가하려면 인스턴스 이니셜 라이저에 처리기를 추가 할 수 없기 때문에 변수를 분리해야합니다. – SLaks