私のプログラムには、 を含む 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
設定方法で同等の呼び出しを行うにはどうすればよいですか? もっとコードが役立つかどうか教えてください。