0

私のプログラムには、 を含む UserControl がありますTreeView。これTreeViewには、ViewModel とそれに関連するモデルがあります。ボタンをクリックすることで、ツリー全体でノードを上下に移動できるようにしたいと考えています。これは、 に実装するものと似ていlistBoxます。

ガイドとして、この記事を使用しています。

が存在するUserControl のコード ビハインドに次の関数を実装していTreeViewます。

//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....? )
      {

      }
}

私の構造は異なり、実際には をObservableCollectionとして実装してTreeViewいるため、例のコードと同じメソッドにアクセスすることはできません。

次の行は私が気になる行です...

  • TreeView.Items();

  • TreeView.Items.Clear();

  • TreeView.Items.Add();

私のTreeView設定方法で同等の呼び出しを行うにはどうすればよいですか? もっとコードが役立つかどうか教えてください。

4

1 に答える 1