2016-01-09 5 views
0

У меня есть 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

Используйте отладчик для проверки значения 'sender' объекта. Это должно привести вас к объекту, который был нажат; из этого вы можете получить изображение, которое будет показано. –

+0

да, я знаю, что это имеет какое-то отношение к отправителю, когда я отправил информацию с булавки на новую страницу, которую я использовал Pin pin = (Pin); но я не уверен, как это сделать с изображениями x: name – DiddanDo

ответ

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

} 
+0

Ошибка: нельзя использовать тип источника для типа назначения. – DiddanDo

+0

Я использую этот код на "ПОЛУЧАТЬ-страницы": общественное PictureDetailPage (строка thePic) \t \t { \t \t \t InitializeComponent(); \t \t \t thePicture.Source = thePic; \t \t} // thePicture - изображение из моего xaml. – DiddanDo

+0

вам необходимо создать FileImageSource, используя путь/имя изображения, а затем назначить это свойство Source Image – Jason

Смежные вопросы