2012-05-08 21 views
0

バックグラウンドに私のUI生成の一部をオフロードしてクライアントにストリームすることに決めました。これにより、クライアントの再デプロイメントなしにUIの変更を行うことができます。XAMLをコンソールアプリケーションから作成

簡単です。

string controlToStream = XamlWriter.Save(rootControl); 

とクライアント側の:サーバー側の

var stringReader = new StringReader(value); 
    var xmlTextReader = new XmlTextReader(stringReader); 
    var control = XamlReader.Load(xmlTextReader); 

しかし、どのように、私はチェーンで本格的なWPFアプリケーションを導入することなく、サーバー上のWPFへのアクセスを得るのですか?サーバーコードは、リクエストが来るたびに実行される典型的なRPCタイプのコードチャンクです。コンソールアプリケーションでXAML /コントロール作成に軽量なアクセスを得る方法はありますか?

ありがとうございました!今後の参考のため

ソリューション更新:

  1. はコンソールアプリでのWPFのDLL(PresentationCore、Windowsbase、PresentationFramework、System.Xaml私の場合)への参照を追加します

  2. のみに確認してくださいそれらにSTAスレッドからの呼び出しを行います。 http://blogs.msdn.com/b/pfxteam/archive/2010/04/07/9990421.aspx

答えて

1

私は正確にあなたが「軽量」を考えるだろうかわからないんだけど、あなたは、コンソールアプリケーションからすべてのWPFのライブラリにアクセスすることができますParallelExtensionsExtrasからStaTaskSchedulerに便利です。

何らかの理由でそれらを使用したくない場合は、XAMLを通常のXMLとして扱い、XMLライブラリのみを使用して生成することができます。それはもっと多くの仕事になるでしょうが。

+0

wpf dllを含めて、既存のコンソールアプリケーションから呼び出すことができますか?うーん、それは考えなかった。私は今それを試してみます。 –

+0

うん、まさに。あなたがコントロールを実際に表示する必要がない限り、あなたはうまくいくはずです。 – svick

+0

作品!ソリューションで質問を更新しました。ありがとう。 –

関連する問題