0

Microsoft が作成したローカル データベースの例を使用しています。

リストに項目を追加したり、削除したりできます。しかし、アイテムを選択してアイテムのテキストを取得し、それを次のページで使用したいと考えています。

これは選択変更イベントです。

 private void allToDoItemsListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

        NavigationService.Navigate(new Uri("/LiveTimes.xaml?selectedItem=" + allToDoItemsListBox.SelectedIndex, UriKind.Relative));

    //    string urlWIthData = string.Format("/LiveTimes.xaml?name={0}", " ");
    //    this.NavigationService.Navigate(new Uri(urlWIthData, UriKind.Relative));

    }

次に、これは他のページのページ読み込みです。

 string selectedIndex = "";
       if (NavigationContext.QueryString.TryGetValue("selectedItem", out selectedIndex))
       {
           int index = int.Parse(selectedIndex);
           DataContext = App.ViewModel.HomeToDoItems[index];

       }

次に、これを使用すると、エラーは DataContext 行にあります。

解決策は?

4

1 に答える 1

1

あなたが示した上記のコードには問題はありません。実際の問題は、 ViewModel と HomeToDoItems を定義した方法にある可能性があります。そのコードの一部を表示していただければ、問題を解決するのに役立ちます。

また、データを DataContext に設定する前に、次の手順を試してください。まず、有効な selectedIndex を取得していることを確認します。

var tempData = App.ViewModel.HomeToDoItems[index];
DataContext = tempData;

次に、tempData にブレーク ポイントを挿入して、期待されるデータを取得しているかどうかを確認します。

この答えはあなたの問題を解決しないかもしれませんが、実際の問題を特定するのに役立ちます。

于 2012-06-14T10:17:32.247 に答える