示例#1
0
        public TalkPage(TalkModel talkModel)
        {
            this.InitializeComponent();

            this.extension = DependencyService.Get <IPlatformSpecificExtension <TalkModel> >();

            this.ItemId = talkModel?.Title;

            this.ListViewSpeakers.ItemSelected += async(sender, e) =>
            {
                if (!(this.ListViewSpeakers.SelectedItem is SpeakerModel speaker))
                {
                    return;
                }

                ContentPage destination;

                if (Device.RuntimePlatform == Device.UWP)
                {
                    var speakerDetailsUwp =
                        new SpeakerDetailsPageUWP(this.talkViewModel.TalkModel.Id)
                    {
                        SpeakerModel = speaker
                    };
                    destination = speakerDetailsUwp;
                }
                else
                {
                    var speakerDetails =
                        new SpeakerDetailsPage()
                    {
                        SpeakerModel = speaker
                    };
                    destination = speakerDetails;
                }

                await NavigationService.PushAsync(this.Navigation, destination);

                this.ListViewSpeakers.SelectedItem = null;
            };

            this.ButtonRate.Clicked += async(sender, e) =>
            {
                await NavigationService.PushModalAsync(
                    this.Navigation,
                    new EvolveNavigationPage(new FeedbackPage(this.ViewModel.TalkModel)));
            };
            this.BindingContext = new TalkViewModel(this.Navigation, talkModel);
            this.ViewModel.LoadSessionCommand.Execute(null);
        }
示例#2
0
        private async void OnSpeakerSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (!(this.ListViewSpeakers.SelectedItem is SpeakerModel speaker))
            {
                return;
            }

            var speakerDetails =
                new SpeakerDetailsPage()
            {
                SpeakerModel = speaker
            };

            await NavigationService.PushAsync(this.Navigation, speakerDetails);

            this.ListViewSpeakers.SelectedItem = null;
        }
示例#3
0
        public TalkPage(TalkModel talkModel)
        {
            this.InitializeComponent();

            this.ItemId = talkModel?.Title;

            this.ListViewSpeakers.ItemSelected += async(sender, e) =>
            {
                if (!(this.ListViewSpeakers.SelectedItem is SpeakerModel speaker))
                {
                    return;
                }

                ContentPage destination;

                if (Device.RuntimePlatform == Device.UWP)
                {
                    var speakerDetailsUwp =
                        new SpeakerDetailsPageUWP(this.talkViewModel.TalkModel.TalkId)
                    {
                        SpeakerModel = speaker
                    };
                    destination = speakerDetailsUwp;
                }
                else
                {
                    var speakerDetails =
                        new SpeakerDetailsPage()
                    {
                        SpeakerModel = speaker
                    };
                    destination = speakerDetails;
                }

                await NavigationService.PushAsync(this.Navigation, destination);

                this.ListViewSpeakers.SelectedItem = null;
            };

            this.BindingContext = new TalkViewModel(this.Navigation, talkModel);
        }