0

我正在关注我为开发 Metro 应用程序而购买的 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 方法中注释掉了部分,但是当我单击它时我仍然无法设置文本框的值(这应该是行为)。我已经使用了断点并且设置了文本框的属性,但是它没有显示在屏幕上。

谢谢。

4

0 回答 0