0

「設計時のサポート」のベスト プラクティスの問題に直面しています。私は PRISM を使用しており、私のオブジェクトは DI コンテナーによって作成されています。次の単純なシナリオを想定してみましょう。

オブジェクト ワークフローがあります。このワークフローにはいくつかのプロパティがあり、ワークフローのリストを提供する WorkflowProvider があります。

ListView を設計すれば、問題はありません。MainApplication オブジェクトを設計時のデータ コンテキストとして使用しており、リストはプロパティ "WorkflowList" にバインドされています。私のライブ アプリケーションでは、データ コンテキストを適切な実装に設定できます。

しかし、単一のワークフロー ビューを処理する方法がわかりません。

通常、ワークフロー オブジェクトを設計時のデータ コンテキストとして作成します。しかし、私のワークフロー オブジェクトは (空のコンストラクターを使用して) 単独で作成することはできません。たとえば、私の WorkflowProvider のプロパティである必要があります。そのため、私が過去に使用した1つのアプローチは次のとおりです。

  • ワークフロー用のダミー サブクラスを作成する
  • ダミーの空のコンストラクターで、「実際のワークフロー」を取得します
  • 「実際のワークフロー」のすべてのプロパティをダミー クラスのプロパティに割り当てます。
  • 設計時ビューでダミー ワークフローのインスタンスを使用する

その唯一の理由は、デザイン時のデータ コンテキストをオブジェクトではなくプロパティに設定する方法がわからないことです。これは可能ですか、それとも他に意味のある方法はありますか。明確にするために、たとえば「ワークフローの詳細ビュー」のグリッドをプロパティにバインドできることはわかっていますが、変更せずに詳細ビューをリスト ビューの DataTemplate として使用することはできませんでした。あなたが私の問題を解決したことを願っています:-)

クリス

4

1 に答える 1

0

わかりました、
よくあることですが、少し考えて適切な推測をすることで問題が解決しました。

d:DataContext="{Binding WorkflowProvider.CurrentWorkflow}"

トリックを行い、リアルタイムのシナリオでは無視されます...

于 2010-10-23T16:12:30.830 に答える