2011-06-29 14 views
1

私はMVVMフレームワークとしてCaliburn.Microを使用して少しWP7プロジェクトを作成していますが、Expression BlendまたはVisual Studioデザイナー。WP7でExpression BlendでCaliburn.Microを使用

どのようにCalibun.Microでデザインをしていますか?私は慣習を無視し、伝統的な結合力学を使用してBlendがその見解を理解するのが最善でしょうか? CaliburnバインディングロジックをBlendにインポートする方法はありますか?

現時点では私のすべてのビューは空のコントロールとして表示されますが、アプリケーションを実行してどのようなものかを知る必要があります。私は欠けているより良い方法があると仮定します。

+0

私たちは、Caliburn.MicroをWP7 MVVM Appsの主要フレームワークの1つとして使用しています。スタティックブレンドデザインタイムデータでは、プロパティの横にあるブレンドデータタブを使用してリソースファイルを作成し、デザインタイム用のサンプルデータを使用して、十分に満たされたビューを表示します。 – softwaredeveloper

答えて

3

**アップデート:コンベンションのあるデザインデータがCMに組み込まれました。 http://caliburnmicro.codeplex.com/SourceControl/changeset/changes/c5cac07cd755 http://mnajder.blogspot.com/2011/09/design-time-support-for-caliburnmicro.html

私はMVVM光からViewModelLocatorを使用してIsInDesignModeプロパティを追加するCMのScreenクラスを拡張してきました。 CMはもちろん、バインディングが設定されているコンベンションを無視しますが、データを嘲笑したデザイナーにとってはまともな取引です。

"CaliburnバインディングロジックをBlendにインポートして、慣習を認識できる方法はありますか?"

Hereは、そのことについてのCMディスカッションの投稿です。

残念ながら、残念ながら、知っているのはすべて です。私は シナリオをBlendチームに説明して、 が適切な拡張性のフックを得ることができるようにしました。 は、デザイン時に の表記規則を使用するために製品に組み込まれています。彼らは ものにフォローアップしていないと彼らは 内の非常に "閉じた"グループまたは マイクロソフトです。 SilverlightとWPF MVP は必ずしも に直接アクセスする必要はありません。あなたはBlend MVPでなければなりません。 これらは大部分がデザイナーであり、より大きなスケールの の開発を理解している人はほんのわずかであり、 という人はほとんどありません。 の規約では簡単に プロジェクトに与えることができます。これを行うことはかもしれない であるかもしれないが非常に苦しい仕事のたくさんの を必要とし、 はおそらく次のリリースのブレンドの と壊れるだろう。 が文書化されている拡張性のためのAPIは です。次に、Visual スタジオでも動作させるための 問題があります。現在、私は に何かを思い付く時間または忍耐を持っていない しようとしていません。 コミュニティの投稿が コミュニティからの寄付が大きいと、 という違いがあります。可能であれば、 のブレンドチームを迷惑にしています。しかし、私の 推測では、彼らは他の の懸念を持っています。

私はロブがこれについて少し語りますとthisヒーティングコードのエピソードです。

Thisは、これを表示するためのデモではありませんが、MVVM LightのViewModelLocatorを使用して、CMアプリケーションのデータを模擬しています。

+0

ディスカッション・ボードへのすばらしいリンク、ありがとうございました。そのまったくのサイトからブレンド情報を検索している午前中に、午前中にそれを見逃してしまったのかどうかはわかりません...そのため、データのバインドにはCaliburnの規約を使用しないように見えます。 –

+0

ええ、ただ、私はCMに強制的にコンフリクトをさせる方法を考えてボードに投稿しました。そのため、デザインタイムデータにバインドすることはできますが、CMはそれを無視して慣例を適用します。 –

0

私のアプローチは、ビューのモデルに基づいたデザインタイムデータを生成するために、Blendのクラス機能からサンプルデータを使用することです。

これは、私がCaliburnのコンベンションベースのバインディングをフルに活用していないという意味です。しかし、私はまだ、アクションの周りのコンベンションのためだけでなく、デザインタイムの経験を必要としない要素のためにそれを使用します。

関連する問題