패널에 내 TreeView
표시 항목을 만드는 방법을 찾고 있습니다.TreeView.ItemsPanel을 캔버스 만들기
<TreeView>
<TreeView.ItemsPanel>
<ItemsPanelTemplate>
<Canvas IsItemsHost="True"/>
</ItemsPanelTemplate>
</TreeView.ItemsPanel>
<TreeViewItem Header="Root" IsExpanded="True" Canvas.Left="50" Canvas.Top="20">
<TreeViewItem Header="Alpha" Canvas.Left="10" Canvas.Top="50">
<TreeViewItem Header="Sub"/>
</TreeViewItem>
<TreeViewItem Header="Beta"/>
<TreeViewItem Header="Gamma"/>
</TreeViewItem>
</TreeView>
이 솔루션은 나를 루트 TreeViewItem
주위를 이동할 수 있습니다,하지만 난 TreeView
의 모든 단일 항목이 Canvas
연결된 속성을 존중합니다. 나가 말하고 싶은 것은, 루트 {왼쪽 = 50, 상위 = 10} (여기서 작동)은 알파 {왼쪽 = 0, 상위 = 0}, 루트는 [50,10], 알파는 [0,0 ] (좌표는 Canvas
까지 절대 값입니다.)
루트 TreeViewItem
만 올바르게 배치하는 이유는 TreeView.ItemsPanel
입니다. 나는 대신 TreeView.ItemContainerStyle
을 사용해야한다고 생각하지만 실제로 어떻게해야할지 모르겠다.
물론 도움이된다면 HierarchicalDataTemplate
을 통합하는 것이 좋습니다. Binding
과 솔루션을 연결하는 방법을 알고 있습니다.
'ItemsControl'대신 'TreeView'를 사용하는 특별한 이유가 있습니까? – Rachel
네,'HierarchicalDataTemplate'을 사용하고 싶습니다. 그리고 인터넷에서 찾은 것으로부터'TreeView' 만 사용하고 있습니다. 하지만이 작업을 할 수있는 방법이 있다면'ItemsControl'과 함께 기꺼이 갈 것입니다. –
TreeView의 데이터 객체가 모두 동일한 유형입니까? 만약 그렇다면'HierarchicalDataTemplate' 대신 Implicit'DataTemplate'을 사용할 수 있습니다. – Rachel