ネイティブ C++ クラスでボタン クリック イベントを処理したいと考えています。イベントを処理するために派生した「ハンドラー」オブジェクトを作成してからObject
、C++ メソッドを呼び出してみました。たとえば、次のコードを試しました。
ref class GButtonHandler sealed : public Object
{
public:
void Button_Click(Object^ sender, RoutedEventArgs^ e)
{
}
GTextBlockHandler(GButtonImpl * pButtonImpl, Button ^ button)
{
button->Click += ref new RoutedEventHandler(this, >extBlockHandler::Button_Click);
}
};
ポインターを追い払い、pButtonImpl
それを使用して関数内のネイティブ関数を呼び出すことができると考えていButton_Clicked
ます。ただし、このコードをコンパイルすると、次のエラーが発生します。
error C3986: '{ctor}': signature of public member contains native type 'GButtonImpl'
そのため、ネイティブ クラスを ref オブジェクトに渡すのは好きではないようです。これを行う方法はありますか?
私は Metro スタイル アプリの開発にまったく慣れていないので、ご容赦ください。