メトロアプリを開発するために購入したKindleの本をフォローしています。何らかの理由で、OnNavigatedToメソッドの外部のメソッドにテキストボックスのテキスト値を設定できません。これは、本が提供するコードです。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
//passed in the view model
viewModel = e.Parameter as ViewModel;
this.DataContext = viewModel;
viewModel.PropertyChanged += (sender, eventArgs) =>
{
if (eventArgs.PropertyName == "SelectedItemIndex")
{
if (viewModel.SelectedIndex == -1)
{
SetItemDetail(null);
}
else
{
SetItemDetail(viewModel.GroceryList[viewModel.SelectedIndex]);
}
}
SetItemDetail(viewModel.GroceryList[viewModel.SelectedIndex]);
};
}
private void SetItemDetail(GroceryItem item)
{
ItemDetailName.Text = "test"; //(item == null) ? "" : item.Name;
ItemDetailQuantity.Text = "test"; //(item == null) ? "" : item.Quantity.ToString();
//if (item != null)
//{
// ItemDetailStore.SelectedItem = item.Store;
//}
//else
//{
// ItemDetailStore.SelectedIndex = -1;
//}
}
set item detailメソッドでパーツをコメントアウトしましたが、それでもクリックしたときにテキストボックスの値を設定できません(これは動作であると思われます)。ブレークポイントを使用しましたが、テキストボックスのプロパティが設定されていますが、画面に表示されません。
ありがとう。