「Xamarin.MacでのNSTableViewの使い方」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「 NSTableViewは使い方がちょっと難しい。 == 使い方 == === 準備 === まずNSTableViewを使うには以下の3種類のクラスを用意する必要が...」) |
imported>Administrator 細 (Administrator がページ「Xamarin.Mac/NSTableViewの使い方」を「Xamarin.MacでのNSTableViewの使い方」に移動しました) |
||
(2人の利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
NSTableViewは使い方がちょっと難しい。 | NSTableViewは使い方がちょっと難しい。 | ||
+ | Macってほんとクソだな思う部分である。 | ||
== 使い方 == | == 使い方 == | ||
+ | === 前知識 === | ||
+ | NSTableViewには「Cell based」と「View based」という2種類のモードがある。 | ||
+ | |||
+ | 前者は「NSCell」と呼ばれるクラスから派生したクラスを挿入して使う古くからある方法である。 | ||
+ | 出来ることは少ない代わりに手軽に扱えるという利点があるが難しいことをしようとすると難しい。 | ||
+ | Mac OS X 10.10からは非推奨になった。 | ||
+ | |||
+ | 一方、後者はMac OS X 10.7から使えるようになったもので、セル1つ1つが一般的な「NSView」の派生クラスという代物である。 | ||
+ | 当然ならがら出来ることに比例して記述量も多くなり複雑になっている。 | ||
+ | |||
=== 準備 === | === 準備 === | ||
まずNSTableViewを使うには以下の3種類のクラスを用意する必要がある。 | まずNSTableViewを使うには以下の3種類のクラスを用意する必要がある。 | ||
26行目: | 37行目: | ||
== 参考文献 == | == 参考文献 == | ||
{{reflist}} | {{reflist}} | ||
+ | |||
+ | [[category: Xamarin.Mac]] |
2019年5月22日 (水) 05:12時点における最新版
NSTableViewは使い方がちょっと難しい。 Macってほんとクソだな思う部分である。
使い方[編集 | ソースを編集]
前知識[編集 | ソースを編集]
NSTableViewには「Cell based」と「View based」という2種類のモードがある。
前者は「NSCell」と呼ばれるクラスから派生したクラスを挿入して使う古くからある方法である。 出来ることは少ない代わりに手軽に扱えるという利点があるが難しいことをしようとすると難しい。 Mac OS X 10.10からは非推奨になった。
一方、後者はMac OS X 10.7から使えるようになったもので、セル1つ1つが一般的な「NSView」の派生クラスという代物である。 当然ならがら出来ることに比例して記述量も多くなり複雑になっている。
準備[編集 | ソースを編集]
まずNSTableViewを使うには以下の3種類のクラスを用意する必要がある。
- NSObject派生
- 行に相当するデータを保持するクラス
- NSTableViewDataSource派生
- 上記の行データの配列(コレクション)を管理するクラス。.NET元来のIListインターフェースに似ている。
- NSTableViewDelegate派生
- 行選択などの外部からイベントを受け付けるクラス
以下のようにプロジェクト内に上記3点セットを一括りにしたフォルダを作っておくと管理しやすい。
- Productsフォルダ
- Product.cs
- ProductTableDataSource.cs
- ProductTableDelegate.cs
関連項目[編集 | ソースを編集]
- Xamarin.Mac/NSTableViewでNSTableViewSourceを使う
- 本稿の「本来の手順」ではなくXamarin特有の便利クラスを使う方法