Xamarin.forms Я хочу загрузить изображение на той же странице

Я загружаю свое изображение с помощью plugins.media, но проблема в том, что оно перенаправляет на другую страницу с фотоизображением и загружает его туда.

        var profiletap = new TapGestureRecognizer();

        profiletap.Tapped += async (s, e) =>
        {
           var file = await CrossMedia.Current.PickPhotoAsync();
            if (file == null)
                return;
   await DisplayAlert("File Location", file.Path, "OK");

            ImageSource im = ImageSource.FromStream(() =>
            {
                var stream = file.GetStream();
                file.Dispose();
                return stream;

            });




       await Navigation.PushModalAsync(new PhotoPage(im));
        };

        profile.GestureRecognizers.Add(profiletap);

муравей вот содержание фотостраницы

 public class PhotoPage : demopage
{
    public PhotoPage(ImageSource img)
    {
        Content = new Image
        {
            VerticalOptions =LayoutOptions.Start,
            HorizontalOptions = LayoutOptions.Start,
            Source =img
        };
    }
}

1 ответ

Вместо того чтобы делать

await Navigation.PushModalAsync(new PhotoPage(im));

вы можете сделать что-то вроде

var img = new Image
        {
            Source =im
        };

затем добавьте новый элемент управления img в тот же контейнер, где уже был добавлен элемент управления "профиль" (возможно, какой-нибудь Stacklayout или Grid или какой-либо другой элемент управления макетом, подобный этому)

Имейте в виду, что вы боретесь с самой основной концепцией построения пользовательского интерфейса вашего приложения, что является убедительным показателем того, что вы должны прочитать некоторые учебные пособия по началу работы с xamarin.forms и по-настоящему понять, как построен пользовательский интерфейс.

Другие вопросы по тегам