2009-08-19 17 views
0

私はWPFプロジェクトでBindingを使用し始めていますが、実際にプレゼンテーション側(XAML)でいくつか混乱しています。WPFでのデータバインドに関する一般的な質問

だから私は、カテゴリのリストでTreeViewを移入します。私は、カテゴリーリストインスタンスのために右HierarchicalDataTemplateを書く方法を知っています。

しかし、私は今どこからリストを取得するのか分かりません。私はここで2つのソリューションがあります。

  1. を、私は私の右 樹枝を返すLibrary Singletonクラス を得ました、そして私は が Library.Instance.Categoriesメソッドを呼び出すことになる私のXAMLで ObjectDataProviderを使用する必要があります。 (コントローラがUIから完全に分離されなければならないことを意味します)。

  2. 私は(OpenUnit.xaml.cs)interactionLogic 私のページでProperty ListCategories を持って、そしてそれに ツリーをバインドします。

私はxaml.csファイルの目的についてよく分かりませんが、何のために作られていますか?通常はプロパティを格納したり、コントローラとして動作したり、単にUIのバックエンドを持つために使用されますか(UIから値を取得するなど)?

xaml.csファイルをコントローラとして使用されている場合は、私はそれに私のデータを結合しないか、私は成功せず、多くのソリューションを試してみた、私の唯一の成功は、スタティックバインディングを使用していました。

私はうまくいけば、私はそれほど混乱してしまいますが、UIとロジックは、WPFでバインディングについてのコメントやrecommandationをいただければ幸いです。事前に

おかげで、

ボリス

+0

はまた、私はマイクロソフトから5月の例をチェックしましたし、彼らは決してxaml.csでプロパティを使用していない、ほとんどの時間は、彼らが理解することが非常に迷惑である、ハードコード化されたリソースを使用することを言うのを忘れていました。 –

答えて

0

この偉大な記事を読んだ後、私は少し小さい混乱しました:

http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

記事はモデルビューのViewControllerパターンについてです、 WPFがどのようにそれを統合するのかについて説明します。したがって、xaml.csファイルはここのViewControllerとして使用する必要があり、プロパティを保持する必要があります。 ビューとデータを混在させるのは良い習慣ではないので、実際には意味があります。デザイナーは、完全に独立した作業を行う必要があります。

解決策2については、データコンテキストを現在のファイルに設定することもできます。