내 프로그램에는 TreeView
이 포함 된 UserControl이 있습니다. 그 TreeView
에는 ViewModel과 이에 관련된 모델이 있습니다. 단추를 클릭하면 트리 전체에서 노드를 위아래로 이동할 수 있습니다. 이는 listBox
에서 구현할 수있는 것과 유사합니다.TreeView에서 위아래로 노드 이동
안내서로는 this article을 사용하고 있습니다.
TreeView
이있는 UserControl의 코드 숨김에 다음 기능을 구현합니다. 내 구조가 다르다, 나는 실제로 TreeView
같은 ObservableCollection
을 구현하고 있기 때문에
//Move up
private void moveUp_Click(object sender, RoutedEventArgs e)
{
if(UCViewModel.TreeView.SelectedItem != null)
{
if(UCViewModel.TreeView.SelectedItem is TreeModel)
{
TreeModel tm = UCViewModel.TreeView.SelectedItem as TreeModel;
if(tm.Rank != 1)
{
}
}
}
}
private void MoveUp(TreeModel tm)
{ //My guess on how to call the equivalent command...
foreach (TreeModel item in // **UCViewModel.TreeView.GetAllChildren....?)
{
}
}
, 나는 예제의 코드와 동일한 방법에 액세스 할 수 없습니다.
다음 줄
는TreeView.Items.Clear();
TreeView.Items.Add();
TreeView.Items();
- ... 나는이 걱정 라인이다 그런데 내
TreeView
가 정착 중이다. 피? 더 많은 코드가 도움이 될지 알려주십시오.
+1. 또한,이 기사가 WPF에서'TreeView' 작업을 시작할 때 매우 유용하다는 것을 알게되었습니다 : [ViewModel 패턴을 사용하여 WPF TreeView를 단순화] (http://www.codeproject.com/Articles/26288/Simplifying-the- WPF-TreeView-by-ViewMode 사용) – Sphinxxx
이것은 좋은 설명입니다, 감사합니다. 결국 ObservableCollection.Move();를 살펴 보았습니다. - http://msdn.microsoft.com/en-us/library/ms654933.aspx –