2011-12-06 10 views
0

の一部をWPFで実装しました。たとえば、AutoCompleteTextBoxです。 これらのコントロールのデータバインドを実行するために、汎用のViewModelライブラリを実装したいと思います。ItemsControlと連携する一般的なViewModel

ここでは、コントロール内でバインドするデータのソースを指定するCDataSourceという添付プロパティを1つ定義しました。

私の質問は:CustomControlViewModelCDataSourceの値を渡すことは可能ですか?このようにしてViewModelは、CDataSourceプロパティに基づいてコントロールにデータを入力することがあります。事前に

おかげで

+0

CDataSourceという名前は少し珍しいようです。しかし、より意味のある名前を使用してみてください。 – PVitt

答えて

0

これは私には奇妙な要求のように思えます。カスタムコントロール内からビューモデルに依存する必要はありません。代わりに、通常、カスタムコントロールにはItemsSourceの依存関係プロパティがあり、XAMLのビューからこの値を設定します。

これは、WPF Toolkitに含まれているAutoCompleteBoxの動作方法です。

+0

正確ではありません。私の場合、CDataSourceプロパティの型は列挙型です。例えば: -CDataSource.BookData -CDataSource.MusicData -ecc ... さて、私は、プロパティCDataSourceに基づいて私のオートコンプリートのItemsControlにを移入ViewModelには、持っているしたいと思います。 たとえば、次のようなコントロールがあるとします。 私はViewModelがブックデータを自動的にコントロールに追加したいと思います。 このシナリオは可能ですか? – user1070316

+0

列挙値にはどのような値がありますか?列挙値に基づいてデータをロードするのは誰の責任ですか? – devdigital

+0

これらの両方をビューで設定しないのはなぜですか? CDataSource = "CDataSource.MusicData" ItemsSource = {Binding MyMusicCollection}。MyMusicCollectionはビューモデルのObservableCollectionなどです。 – devdigital