今回は選択されたノードの履歴をとります。これによってボタンを押すと前に選択されていたノードに移動することができます。

まず新しくノードが選択されるときは現在選択されているノードをpreSelectedNodesに格納します。

スプリットボタンを押すと前後の選択されていたノードを選択することができます。

ノードが削除されるときは履歴からも削除されなければならないので、そのようにしています。

それから新しくファイルが読み込まれたときも履歴は削除されなければなりません。

スプリットボタンが展開されると格納されたノードのラベルが表示されるようにします。

ただ項目が表示されても選択したときに反応しないのでは意味がありません。選択すると対応するノードを選択できるようにします。

こういう問題もあるので、(同じノードを何でも選択する)

これでドロップダウンリストのなかに重複した項目は表示されなくなります。