私はXamarin.Formsのカスタムコントロールにカスタムイベントを追加しようとしていました。私は上記のコードを使用してイベントにアクセスすることができXamarin.Formsのカスタムイベント
SelectMultipleBasePage<ListItems>.OnImageSelected += ListPage_OnImageSelected;
void ListPage_OnImageSelected(object sender, EventArgs e)
{
//code here
}
:コントロールを使用しているページで
public delegate void ImageSelectedHandler(object sender, EventArgs e);
public static event ImageSelectedHandler OnImageSelected;
private void OnImageBtnTapped(object sender, EventArgs e)
{
if (OnImageSelected != null)
{
OnImageSelected(sender,e);
}
}
:以下のコードを見てみてください。しかし、私は別のページでコントロールを使用したいと思います。異なったページでは、OnImageSelected
は異なった動作をします。それゆえ私はこのような何かがしたい:
SelectMultipleBasePage<ListItems> multiPage = new SelectMultipleBasePage<ListItems>(items);
multiPage.OnImageSelected += ListPage_OnImageSelected;
をしかし、私はエラーを取得することを行うとき:私はイベントにアクセスするには、間違った
Cannot be accessed with an instance reference; qualify it with a type name instead
何をしているのですか?
イベントを静的にすることで!あなたがこのクラスにのみローカルにして、別のクラスでアクセスしたい場合は、 。 これはMyclassname.OnImageSelectedとしてアクセスする必要があります –