如何将正确的图像带到推送的页面?

时间:2016-01-09 21:47:12

标签: c# forms xamarin

我有2个不同的图像,其想法是当你点击其中任何一个时,你应该进入一个新页面,新页面应该显示你选择的图像,我没有让它工作。我知道我可以制作2个不同的页面,但我想尽可能地优化我的代码。

这是代码:

public PicturePage ()
    {
        image1.Clicked += OnButtonClicked; //x:name of my image in xaml.

        image2.Clicked += OnButtonClicked; //x:name of my second image in xaml.

    }


async void OnButtonClicked(Object sender, EventArgs args)
    {

        Navigation.PushAsync (new PictureDetailPage ()); //how will the code know what the user clicked?

    }

1 个答案:

答案 0 :(得分:1)

每个Xamarin.Forms元素都有一个StyleId属性,您可以使用它来分配用户定义的值来识别元素。

在您的XAML中:

<Image x:Name="Image1" StyleId="Image1" ... />

并在后面的代码中:

async void OnButtonClicked(Object sender, EventArgs args)
{

    Image image = (Image) sender;

    // pass the value of the StyleId string to the detail page
    Navigation.PushAsync (new PictureDetailPage (image.StyleId));

}