「Xamarin.MacのNSTableViewでNSTableViewSourceを使う」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | == | + | ==実装1== |
− | + | Xamarin.MacにはNSTableViewSourceというNSTableViewを簡単に扱うための便利クラスがあるようだ。 | |
− | |||
まずはソースの元(テーブルの1行)となるクラスを用意する。 | まずはソースの元(テーブルの1行)となるクラスを用意する。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
12行目: | 11行目: | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
次にデータソースを用意する。 | 次にデータソースを用意する。 | ||
NSTableViewSourceクラスを継承してGetRowCountメソッドとGetObjectValueメソッドをオーバーライドすることで利用可能な状態となる。 | NSTableViewSourceクラスを継承してGetRowCountメソッドとGetObjectValueメソッドをオーバーライドすることで利用可能な状態となる。 | ||
129行目: | 66行目: | ||
</source> | </source> | ||
− | |||
早速使ってみる。 | 早速使ってみる。 | ||
− | |||
この例では | この例では | ||
* Interface BuilderでMainWindow.xibファイルを開き、 | * Interface BuilderでMainWindow.xibファイルを開き、 | ||
* NSTableViewを貼り付け、 | * NSTableViewを貼り付け、 | ||
− | * Content | + | * Content Modeを「View Based」に設定し、 |
* アウトレットは「_studyTableView」という名前にしておいた。 | * アウトレットは「_studyTableView」という名前にしておいた。 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
<source lang="csharp"> | <source lang="csharp"> | ||
public partial class MainWindowController : NSWindowController | public partial class MainWindowController : NSWindowController | ||
161行目: | 91行目: | ||
</source> | </source> | ||
− | + | なんと、この状態で実行するとクリックしても行選択ができない。 | |
− | |||
これで良いのか知らんが以下で行選択が出来るようになった。 | これで良いのか知らんが以下で行選択が出来るようになった。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
177行目: | 106行目: | ||
}; | }; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||