Windows Phoneページ(MainPage)があり、コードビハインドで、イベントハンドラーを動的に追加します(たとえば、MouseEnterイベント)。秘訣は、このイベントハンドラーにイベント引数をオブジェクトとして持たせたいということです。
private void MyEventHandler(object sender, object args)
{
}
(この理由は、これが単純化された例であるためです)
これは機能します:
this.MouseEnter += MyEventHandler;
しかし、これはArgumentExceptionをスローします。
var handlerType = Type.GetType("System.EventHandler`1").
MakeGenericType(typeof(EventArgs));
this.GetType().GetEvent("Hold").AddEventHandler(
this, Delegate.CreateDelegate(handlerType, this, "MyEventHandler"));
また、例外のメッセージは次のとおりです。「ターゲットメソッドの署名またはセキュリティの透過性がデリゲートタイプのものと互換性がないため、ターゲットメソッドにバインドできません。」イベントハンドラーの署名を変更すると、すべて機能しますが、「オブジェクト」または「動的」として保持したいと思います。
AddEventHandler呼び出しでイベントハンドラーを追加するにはどうすればよいですか?
どんな助けでも大歓迎です。