public TodoItemPage() { ToolbarItems.Add(new ToolbarItem("Change Language", null, async() => { var page = new LanguageSelectionXaml(); await Navigation.PushAsync(page); }, 0, 0)); }
public TodoListPage() { listView = new ListView { RowHeight = 40 }; listView.ItemTemplate = new DataTemplate(typeof(TodoItemCell)); listView.ItemSelected += (sender, e) => { var todoItem = (TodoItem)e.SelectedItem; // use C# localization var todoPage = new TodoItemPage(); // use XAML localization // var todoPage = new TodoItemXaml(); todoPage.BindingContext = todoItem; Navigation.PushAsync(todoPage); }; var layout = new StackLayout(); if (Device.OS == TargetPlatform.WinPhone) // WinPhone doesn't have the title showing { layout.Children.Add(new Label { Text = "Todo", Font = Font.BoldSystemFontOfSize(NamedSize.Large) }); } layout.Children.Add(listView); layout.VerticalOptions = LayoutOptions.FillAndExpand; Content = layout; ToolbarItem tbi = null; if (Device.OS == TargetPlatform.iOS) { tbi = new ToolbarItem("+", null, () => { var todoItem = new TodoItem(); var todoPage = new TodoItemPage(); todoPage.BindingContext = todoItem; Navigation.PushAsync(todoPage); }, 0, 0); } if (Device.OS == TargetPlatform.Android) // BUG: Android doesn't support the icon being null { tbi = new ToolbarItem("+", "plus", () => { var todoItem = new TodoItem(); var todoPage = new TodoItemPage(); todoPage.BindingContext = todoItem; Navigation.PushAsync(todoPage); }, 0, 0); } if (Device.OS == TargetPlatform.WinPhone) { tbi = new ToolbarItem("Add", "add.png", () => { var todoItem = new TodoItem(); var todoPage = new TodoItemPage(); todoPage.BindingContext = todoItem; Navigation.PushAsync(todoPage); }, 0, 0); } ToolbarItems.Add(tbi); if (Device.OS == TargetPlatform.iOS) { var tbi2 = new ToolbarItem("?", null, () => { var todos = App.Database.GetItemsNotDone(); var tospeak = ""; foreach (var t in todos) { tospeak += t.Name + " "; } if (tospeak == "") { tospeak = "there are no tasks to do"; } if (todos.Count() > 0) { var s = L10n.Localize("SpeakTaskCount", "Number of tasks to do"); tospeak = String.Format(s, todos.Count()) + tospeak; } DependencyService.Get <ITextToSpeech>().Speak(tospeak); }, 0, 0); ToolbarItems.Add(tbi2); } ToolbarItems.Add(new ToolbarItem("Change Language", null, async() => { var page = new LanguageSelectionXaml(); await Navigation.PushAsync(page); }, 0, 0)); }