イベントが発生するたびに呼び出される関数を取得しようとしています。KinectRegion クラスには、HandPointerGrip というイベントがあります: http://msdn.microsoft.com/en-us/library/microsoft.kinect.toolkit.controls.kinectregion.handpointergrip.aspx。
イベントが宣言されていることがわかりますが、イベントはすでに呼び出されるように設定されているようです(HandPointerEventArgs)? このイベントに関数を追加するにはどうすればよいですか?
public Menu()
{
KinectRegion.HandPointerGripEvent+=Hand_Gripped; // why doesn't this work? :(
}
private void Hand_Gripped(object sender, HandPointerEvnetArgs e)
{
MessageBox.Show("I work!"); // I wish this would work
}
この問題に懸命に取り組んできましたが、これはうまくいくと思います。それをテストすることを恐れています。ルーティング イベント、デリゲート、およびイベントについて多くを学びます。
namespace ...
{
public delegate void HandPointerEventHandler(object sender, HandPointerEventArgs e);
public partial class thePage : Page
{
public event HandPointerEventHandler HandGripped
{
add {this.AddHandler(KinectRegion.HandPointerGripEvent,value);}
remove {this.RemoveHandler(KinectRegion.HandPointerGripEvent,vlaue);}
}
public thePage()
{
InitializeComponent();
this.HandGripped += new HandPointerEventHandler(OnHandGripped);
}
protected virtual void OnHandGripped(object sender, HandPointerEventArgs e)
{
MessageBox.Show("hello"); //hopefully
}
}
}