public TodoPage() { InitializeComponent(); this.BindingContext = Items; this.search.TextChanged += async(sender, e) => { // Searchbarのテキストが変更されるたびに、ObservableCollectionをクリアしてコレクションを再設定。 using (var connection = await manager.CreateConnection()) { Items.Clear(); foreach (var item in (from x in connection.Table <TodoItem>() orderby x.Id select x)) { if (item.Notes.Contains(search.Text)) { Items.Add(item); } } } }; this.TodoList.ItemSelected += async(object sender, SelectedItemChangedEventArgs e) => { // 選択されたTodoItemをItemPageの引数で渡す。 var item = e.SelectedItem as TodoItem; if (item == null) { return; } await Navigation.PushAsync(new ItemPage(item)); TodoList.SelectedItem = null; }; this.addButton.Clicked += async(sender, e) => { await Navigation.PushAsync(new ItemPage(null)); }; }