簡體   English   中英

Xamarin.Forms 中的自定義事件

[英]Custom event in Xamarin.Forms

我試圖在 Xamarin.Forms 中向我的自定義控件添加自定義事件。 請看下面的代碼:

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);
   }
}

在使用控件的頁面中:

SelectMultipleBasePage<ListItems>.OnImageSelected += ListPage_OnImageSelected;

void ListPage_OnImageSelected(object sender, EventArgs e)
{
  //code here
}

我可以使用上面的代碼訪問該事件。 但是我想在不同的頁面上使用控件。 在不同的頁面上,不同的OnImageSelected甚至會有不同的表現。 因此我想要這樣的東西:

SelectMultipleBasePage<ListItems> multiPage = new SelectMultipleBasePage<ListItems>(items);
multiPage.OnImageSelected += ListPage_OnImageSelected;

但是當我這樣做時,我得到錯誤:

不能通過實例引用訪問; 用類型名稱來限定它

我在訪問事件時做錯了什么?

只需刪除static

public event ImageSelectedHandler OnImageSelected;

然后你可以打電話

SelectMultipleBasePage<ListItems> multiPage = new SelectMultipleBasePage<ListItems>(items);
multiPage.OnImageSelected += ListPage_OnImageSelected;

當然,您也必須更改靜態調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM