「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メソッドをオーバーライドすることで利用可能な状態となる。 | ||
137行目: | 76行目: | ||
* Content Modeを「Cell Based」に設定し | * Content Modeを「Cell 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> | ||