1
我正在製作一個應用程序,其中包含許多需要處理點擊事件的圖片。我可以用此單擊圖像點擊,但我需要有> 20個可點擊的圖像。有沒有辦法創建一個像Angular2模板的東西?Xamarin.Forms - 如何使用可點擊的圖片製作自定義視圖?
我正在製作一個應用程序,其中包含許多需要處理點擊事件的圖片。我可以用此單擊圖像點擊,但我需要有> 20個可點擊的圖像。有沒有辦法創建一個像Angular2模板的東西?Xamarin.Forms - 如何使用可點擊的圖片製作自定義視圖?
您可以在共享項目本身中創建一個自定義控件,該控件從圖像繼承,並支持單擊並在整個應用程序中使用它。
ClickableImage : Image
{
public ClickableImage()
{
Tapped += (sender, e) =>
{
System.Diagnostics.Debug.WriteLine("Image clicked!");
};
}
}
感謝Rohit's answer,我能創造我修改,以匿名函數作爲參數的自定義控件。這裏是代碼:
class ClickableImage : Image
{
private TapGestureRecognizer tapGestureRecognizer = new TapGestureRecognizer();
public ClickableImage(Action action)
{
tapGestureRecognizer.Tapped += (s, e) =>
{
System.Diagnostics.Debug.WriteLine("Image Clicked w/ Lambda");
action();
};
GestureRecognizers.Add(tapGestureRecognizer);
}
}
謝謝,這沒有竅門! – IWillByte
使用http://stackoverflow.com/questions/6866347/lambda-anonymous-function-as-a-parameter,我能夠將函數作爲參數傳遞給Tapped方法。 – IWillByte
如果您有改進,請發佈您自己的答案,這對他人也有幫助。 –