F#を介してGtk#ウィジェットを使用してディレクトリ構造を表示したいのですが、TreeViewをF#に変換する方法を理解するのに苦労しています。次のようなディレクトリ構造があったとします。
Directory1
SubDirectory1
SubDirectory2
SubSubDirectory1
SubDirectory3
Directory2
F#を使用してGtk#ウィジェットでこのツリー構造をどのように表示しますか?
編集:
gradbotは、いくつかの例外を除いて、私が望んでいた答えでした。ListStoreを使用する場合、代わりに以下を使用すると、レベルを拡張する機能が失われます。
let musicListStore = new Gtk.TreeStore([|typeof<String>; typeof<String>|])
拡張可能なレベルのレイアウトが得られます。ただし、これを行うとAppendValuesの呼び出しが中断されるため、コンパイラがどのオーバーロードされたメソッドを使用するかを判断するための手がかりを追加する必要があります。
musicListStore.AppendValues (iter, [|"Fannypack" ; "Nu Nu (Yeah Yeah) (double j and haze radio edit)"|])
列は明示的に配列として渡されることに注意してください。
最後に、Append Valuesによって返されるListIterを使用して、レベルをさらにネストできます。
let iter = musicListStore.AppendValues ("Dance")
let subiter = musicListStore.AppendValues (iter, [|"Fannypack" ; "Nu Nu (Yeah Yeah) (double j and haze radio edit)"|])
musicListStore.AppendValues (subiter, [|"Some Dude"; "Some Song"|]) |> ignore