TreeView를 사용하는 응용 프로그램과 함께 작업하고 있습니다. 일부 노드에 checkBoxes가 있어야하지만 모든 것이 필요하지는 않습니다. 내가 할 수 있다는 것을 알고 :선택한 노드에 대한 checkBoxes가있는 treeView
treeView.CheckBoxes = true;
을하지만 모든 노드가 체크 박스가 있습니다. 선택된 노드에 대해서만 checkBox를 어떻게 추가 할 수 있습니까?
TreeView를 사용하는 응용 프로그램과 함께 작업하고 있습니다. 일부 노드에 checkBoxes가 있어야하지만 모든 것이 필요하지는 않습니다. 내가 할 수 있다는 것을 알고 :선택한 노드에 대한 checkBoxes가있는 treeView
treeView.CheckBoxes = true;
을하지만 모든 노드가 체크 박스가 있습니다. 선택된 노드에 대해서만 checkBox를 어떻게 추가 할 수 있습니까?
TreeNode 클래스를 보면 사용자 정의 OnDrawNode
함수를 구현하고 Tag
조작을 수행해야 할 것으로 보입니다.
예 : http://social.msdn.microsoft.com/forums/en-US/winforms/thread/9fbc737b-8385-4285-aa80-0e4602ff5b9b/
당신은 당신의 treeviewitem, 또는 dataitems에 대한 새 템플릿을 확인해야합니다. 이 같은
뭔가 :
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<CheckBox Grid.Column="0" x:Name="checkBox" Visibility="Hidden"/>
<ContentPresenter Grid.Column="1"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="checkBox" Property="Visibility" Value="Visible"/>
</Trigger>
</ControlTemplate.Triggers>
편집 : 분명히,이 WPF입니다. WinForms를 사용하는 경우에는 아무런 도움이되지 않습니다. 죄송합니다.
가능한 복제본 http://stackoverflow.com/questions/698369/how-to-disable-a-winforms-treeview-node-checkbox – Reniuz