2012-05-08 3 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을 어떤 이유로 든 사용하고 싶지 않으면 XAML을 일반 XML로 처리하고 XML 라이브러리 만 사용하여 XML을 생성 할 수 있습니다. 그게 더 많은 일이 될 가능성이 높습니다.

+0

wpf dll을 포함하여 기존 콘솔 앱에서 불러올 수 있습니까? 흠은 그렇게 생각하지 않았습니다. 나는 그것을 지금 시도 할 것이다. –

+0

그래, 정확히. 실제로 컨트롤을 보여줄 필요가없는 한 괜찮을 것입니다. – svick

+0

작동! 해결책으로 질문을 업데이트했습니다. 감사. –