差分

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

Xamarin.MacのNSViewでMouseMovedイベントなどを発生させる

131 バイト追加, 2017年12月21日 (木) 07:19
編集の要約なし
</source>
これらのイベントを発動するにはNSViewのAddTrackingAreaメソッドで事前に「どの範囲で取るか」という指定をする必要がある。これらのイベントが発動するようにするにはNSViewのUpdateTrackingAreasメソッドをオーバーライドして、AddTrackingAreaメソッドで事前に「どの範囲で取るか」を明示的に指定をする。
<source lang="csharp">
NSTrackingArea _trackingArea;  public override void InitializeUpdateTrackingAreas()
{
var trackingArea if (_trackingArea != null) { this.RemoveTrackingArea(_trackingArea); }  _trackingArea = new NSTrackingArea( rect: this.Bounds, options: NSTrackingAreaOptions.ActiveAlways ActiveWhenFirstResponder | NSTrackingAreaOptions.InVisibleRect | NSTrackingAreaOptions.MouseEnteredAndExited | NSTrackingAreaOptions.MouseMoved, owner: this, userInfo: null); this.AddTrackingArea(trackingArea_trackingArea);  base.UpdateTrackingAreas();
}
</source>
匿名利用者

案内メニュー