「Xamarin.MacのNSTableViewでNSTableViewSourceを使う」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | == | + | ==実装1== |
− | + | Xamarin.MacにはNSTableViewSourceというNSTableViewを簡単に扱うための便利クラスがあるようだ。 | |
− | === | + | ===準備=== |
まずはソースの元(テーブルの1行)となるクラスを用意する。 | まずはソースの元(テーブルの1行)となるクラスを用意する。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
12行目: | 12行目: | ||
</source> | </source> | ||
− | === | + | ===データソースの用意=== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
次にデータソースを用意する。 | 次にデータソースを用意する。 | ||
NSTableViewSourceクラスを継承してGetRowCountメソッドとGetObjectValueメソッドをオーバーライドすることで利用可能な状態となる。 | NSTableViewSourceクラスを継承してGetRowCountメソッドとGetObjectValueメソッドをオーバーライドすることで利用可能な状態となる。 | ||
135行目: | 74行目: | ||
* 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 | ||
163行目: | 97行目: | ||
なんと、この状態で実行するとテーブルの表示はされるが、クリックしても行選択ができない。 | なんと、この状態で実行するとテーブルの表示はされるが、クリックしても行選択ができない。 | ||
− | === | + | ===行選択=== |
これで良いのか知らんが以下で行選択が出来るようになった。 | これで良いのか知らんが以下で行選択が出来るようになった。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
177行目: | 111行目: | ||
}; | }; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||