2

私はMVVMを学ぼうとしていますが、家庭教師のいない新しい人として、時々混乱します。今私はこの問題を抱えています:

** 1つのウィンドウで、異なるモデルビューからの3つの異なるビューを使用しました。**各ビューは、ブランチから1つのアイテムを選択するためのものであり、ツリーをトラバースします。**最初のビューで自分の本を選択します**2番目のビューにその本のページが表示されます**最後のビューにそのページの演習を表示します。

これまでのところ、最初のビューをブックにバインドすることができました。では、2番目のビューのソースを1番目のビューのslectedItemにどのようにバインドする必要がありますか?

MVVMの問題http://clickasun.ir/8283kitchen/images/mvvmproblem.jpg

4

2 に答える 2

1

あなたが望むものを達成するためのいくつかの方法があります。例えば。

 public class Exercise{}

 public class Page 
 {
    public List<Exercise> MyExercise {get;set;}
 }

 public class Book
 {
    public List<Page > MyPages {get;set;}
 }

ビューモデル

 public ObservableCollection<Book> MyBooks {get;set;}

xaml

 <ListBox x:Name=books ItemsSource="{Binding MyBooks}"/>
 <ListBox x:Name=pages ItemsSource="{Binding ElementName=books,Path=SelectedItem}"/>
 <ListBox ItemsSource="{Binding ElementName=pages,Path=SelectedItem}"/>

もちろん、これはそれを行うための1つの方法にすぎません。

ps:コードは手書きなので、エラーがないか確認してください

于 2012-08-08T05:57:39.867 に答える
0

OKこれを読んで助けようとした人、特によろしくお願いします「Blindmeis、JenH」

ありがとうございました。

私はこのシナリオがとても一般的でなければならなかったことを知っています、私はそれを見つけることができませんでした。

だから私はそれに2つのアプローチを見つけました。どちらも良い解決策になる可能性があります。

  1. MicrosoftPrismを使用します。(これは、WPFでモジュラープログラムを簡単に作成するためのパターンです) MSDNLINK 別のリンク

  2. マスター詳細パターンを使用する ここでは明確です

だから私は私のものを解決しました。それがあなたにも役立つことを願っています。

于 2012-08-10T09:45:35.490 に答える