0

SDF データベースに接続するアプリケーションを作成しました。ユーザーには映画館の映画のリストが表示されます。ユーザーは映画を選択して「OK」ボタンを押すことができます。

ユーザーには、その映画のすべての情報を含む別のデータグリッドが表示されます。

2 つのページ間で SelectedIndex を渡そうとしましたが、SelectedIndex が情報ページに送信されますが、同じ SelectedIndex に割り当てられません。

 public Desc(int input_id)
    {
        InitializeComponent();


        cinemaEntities = new cinema1.cinemaDBEntities();
        movieViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("moviesViewSource")));

        System.Data.Objects.ObjectQuery<cinema1.movie> moviesQuery = this.GetMovieQuery(cinemaEntities);

        movieViewSource.Source = moviesQuery.Execute(System.Data.Objects.MergeOption.OverwriteChanges);
        moviesListView.SelectedIndex = id;
4

2 に答える 2

0

何をすべきかはソフトウェアの目的によって異なりますが、いずれにせよ、ソフトウェアのアーキテクチャにもう少し努力することをお勧めします。WPFを使用する場合は、保守性が高く、多くの利点があるMVVM(Model-View-ViewModel)アプローチを採用するかどうかを決定する必要がありますが、理解するには時間がかかります。小規模または単純なアプリケーションに非常に適した迅速な解決策は、ビューとコントロールの背後にあるコードでGUIロジックをコーディングすることです。

とにかく、データベースデータをタイプに応じてミラーリングするモデルレイヤーを作成します(MovieDatabaseには映画のコレクションなどがあります)。次に、データベースからモデルを埋めるためのアダプターを作成します。次に、ビューでモデルを使用するか(すばやく実行する場合)、モデルにViewModelsを作成して(これが優れています)、ビューで使用します。

そうは言っても、あなたが投稿したコードからは、何が問題なのかわかりにくいです。もう少しコンテキストがありますか?SelectedItemを渡してみませんか?

于 2012-05-02T22:02:37.120 に答える
0

Movie オブジェクトを 2 番目のページに渡さないのはなぜですか? そして、.SelectedItem を使用します。たった 1 つの映画の詳細であるのに、なぜ 2 ページ目にリスト全体が必要なのですか?

于 2012-05-02T22:55:59.197 に答える