差分

ナビゲーションに移動 検索に移動

Xamarin.MacのNSTableViewでNSTableViewSourceを使う

1,124 バイト追加, 2015年3月27日 (金) 04:30
return true;
}
</source>
 
===セルのデザインを変える===
セルのデザインをいじくるにはデータソースの以下のメソッドをオーバーライドしてその中でいじくりまわす。
セルは初期状態でDrawsBackgroundプロパティがfalseに設定されており背景描画が無効化されているようなので、trueに設定したのちに各種操作をしている。
<source lang="csharp">
public class StudyTableViewSource : NSTableViewSource, IList<Study>
{
// 〜〜〜省略〜〜〜
 
public override void WillDisplayCell(NSTableView tableView, NSObject cell, NSTableColumn tableColumn, int row)
{
// 編集不可カラムの背景色を少し暗くしてみる
if (tableColumn.Editable == false)
{
if (cell is NSTextFieldCell)
{
var textfield = cell as NSTextFieldCell;
textfield.DrawsBackground = true;
textfield.BackgroundColor = NSColor.FromSrgb(0.9f, 0.9f, 0.9f, 1.0f);
}
}
}
}
</source>
匿名利用者

案内メニュー