public AboutPage(AboutPageVM vm) { VM = vm ?? new AboutPageVM(); BindingContext = VM; Title = "About"; var testo = new Label { Text = "" + "Questa app è stata realizzata grazie al lavoro degli studenti che hanno partecipato al corso di Xamarin tenuto dal Dott. Luca Pisano nell'a.a. 2016-2017" + Environment.NewLine + Environment.NewLine + "Si ringrazia il team del Luiss Loft per la collaborazione offerta e la Luiss Guido Carli per l'opportunità" }; var scrollVerticale = new ScrollView { Orientation = ScrollOrientation.Vertical, Content = testo, }; var stackImmagini = new StackLayout { Orientation = StackOrientation.Vertical }; var listaImg = new ListView(); listaImg.ItemTemplate = new DataTemplate(typeof(PersonCellView)); listaImg.SetBinding(ListView.ItemsSourceProperty, new Binding(nameof(AboutPageVM.Utenti))); listaImg.SetBinding(ListView.IsRefreshingProperty, new Binding(nameof(ViewModelBase.IsLoadingData))); var griglia = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(0.5, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(0.5, GridUnitType.Star) }, }, ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = GridLength.Star } } }; griglia.AddChild(scrollVerticale, 0, 0); griglia.AddChild(listaImg, 1, 0); Content = griglia; }
public MasterPage(MasterPageVM vm) { VM = vm ?? new MasterPageVM(); BindingContext = VM; Title = "Menu"; Icon = "menu"; var buttLogin = new Button { Command = new Command(async() => { if (VM.IsLogged == false) { var pageVM = new LoginPageVM(); pageVM.DownloadData().ContinueWith((arg) => { pageVM.UpdateVM(); }); pageVM.Completed += async(object sender, User e) => { //detail = profilePage GoToEventsPage(); }; VM.Navigation = new NavigationPage(new LoginPageView(pageVM)); } else { //doing logout App.VM.user = null; await App.VM.Settings.Save(); } }) }; //buttLogin.SetBinding(View.IsVisibleProperty, new Binding(nameof(MasterPageVM.IsLogged), BindingMode.Default, new NegateBooleanConverter())); buttLogin.SetBinding(Button.TextProperty, new Binding(nameof(MasterPageVM.IsLoggedString))); var userImg = new Image { HeightRequest = 64, WidthRequest = 64 }; userImg.Bind(nameof(MasterPageVM.UserImg)); var userName = new Label { HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.Center }; userName.Bind(nameof(MasterPageVM.UserName), true); var buttonCalendario = new Button { Text = "Prenotazione" }; buttonCalendario.Clicked += delegate { var pageVM = new CalendarioPageVM(); pageVM.DownloadData().ContinueWith(delegate { pageVM.UpdateVM(); }); VM.Navigation = new NavigationPage(new CalendarioPage(pageVM)); }; var buttonAbout = new Button { Text = "About" }; buttonAbout.Clicked += (sender, e) => { var pageVM = new AboutPageVM(); pageVM.DownloadData().ContinueWith(delegate { pageVM.UpdateVM(); }); VM.Navigation = new NavigationPage(new AboutPage(pageVM)); }; Content = new StackLayout { Children = { new BoxView { HeightRequest = 20, Color = Color.Transparent, BackgroundColor = Color.Transparent }, userImg, userName, buttLogin, new Button { Text = "Eventi", Command = new Command(() =>{ GoToEventsPage(); }) }, buttonCalendario, buttonAbout, } }; }