メインメニューを開く

差分

Xamarin.Macでカスタムコントロールを使用する

2,067 バイト追加, 2015年4月27日 (月) 02:12
ページの作成:「==要件== カスタムコンポーネントをデザイン領域上で扱えるようにするには以下の条件を満たす必要がある。 #NSViewを直接また...」
==要件==
カスタムコンポーネントをデザイン領域上で扱えるようにするには以下の条件を満たす必要がある。
#NSViewを直接または間接的に継承していること。
#[[Objective-C]]にクラス登録するためRegisterAttributeを持つこと。
#コンストラクタに以下の全パターンを実装しておくこと。
##IntPtrを[[引数]]とする[[コンストラクタ]]を作る。
##: 土台にCustom View以外を利用した場合のインスタンス化時に呼ばれる。
##: たとえばNSOpenGLViewを継承し、かつ継承元の設定くらいはGUIでいじりたい場合などが該当する。
##RectangleFを[[引数]]とする[[コンストラクタ]]を作る。
##: 土台にCustom Viewを利用した場合のインスタンス化時に呼ばれる。
##NSCoderを[[引数]]とする[[コンストラクタ]]を作る。
##: Interface Builderでデザイン時に呼ばれる。

<source lang="csharp">
using System;
using System.Drawing;
using MonoMac.Foundation;
using MonoMac.AppKit;
using MonoMac.CoreGraphics;

[Register("MBButtonEx")]
public class MBButtonEx : NSButton
{

public MBButtonEx() {}

public MBButtonEx(NSCoder coder)
: base(coder) {}

public MBButtonEx(IntPtr handle)
: base(handle)
{
InitUI();
}
public MBButtonEx(RectangleF frame)
: base(frame)
{
InitUI();
}

public override void AwakeFromNib()
{
base.AwakeFromNib();
InitUI();
}

void InitUI()
{
this.TitleLabel.Text = "押せ!";
}
}
</source>

==デバッグ==

==カスタムツールボックスアイテム==

==カスタムプロパティ==

==注意事項==

==関連項目==
*[[Xamarin.Mac]]

==類似項目==
*[[Xamarin.iOS/iOSデザイナーでカスタムコントロールを使用する]]

==参考文献==
{{reflist}}

{{stub}}

[[Category:Xamarin.iOS]]
匿名利用者