2012-09-11 4 views
1

재 호스팅 디자이너에게 xaml 파일을로드하는 방법을 이해할 수 있으면 좋겠습니다. xaml 정의에 따라 다릅니다. 결과가 다릅니다.워크 플로 재배포 디자이너

  1. Xaml에서 파일의 루트 노드는 Activity that cointans flowcharts입니다. 여기에 desinger를 사용하면 충분합니다. (새 DesignerMetadata)를 사용하여 (xamlFileName)로드합니다. 디자이너를 만든 후 등록 (모든 사람이 어떤 종류의 마법인지 알 수 있습니까?) 디자이너에서 나는 시각적 스튜디오 편집기와 비슷한 워크 플로를 얻습니다.
  2. Xaml, 루트 노드는 자체적으로 흐름표입니다. 동일한 단계를 통해 디자이너에게 단 하나의 활동 만 제공합니다. 나는 활동 작성자 according to this (비슷한 문제가 있음)에서 워크 플로 래핑을 시도했습니다. 어셈블리에는 아무런 문제가 없습니다 (적어도 그렇게 생각합니다). 예외는 없습니다. 이전과 같이 작동하도록 할 수는 없습니다.

Visual Studio에서 저장 한 xaml과 재 호스팅 한 디자이너에서 저장 한 xaml간에 차이가 있습니까?
ActivityXamlServices.Load는 때때로 DynamicActivity를 반환하고 때로는 대상 워크 플로를 반환합니다. 무엇에 의존 하는가?

지원해 주셔서 감사합니다.

+0

예. 쉬운 해결책은 디스크에서 WorkflowDesigner.Load() 파일을 가져 오는 것입니다. – Will

+0

ActivityDesigner에로드 메서드가 없습니다. – Mat38

+0

고정. http://msdn.microsoft.com/en-us/library/ee425926.aspx – Will

답변

2

재 호스팅 된 디자이너에게 주어진 인수에 따라 다르다는 것이 나타납니다. 새 Flowchart로 시작하면 xaml의 루트 노드가 순서도가됩니다. 나중에 디자이너로 파일을로드 할 때이를 감쌀 필요가 없습니다. ActivityBuilder로 시작한 경우 xaml을로드하기 전에 WorkflowInspectionServices를 사용하여 워크 플로를 가져와야 할 수 있습니다.
때로는 디자이너에서 워크 플로우를 올바르게 표시하려면 (새 DesignerMetadata). 적절한 어셈블리에서 등록()해야하지만 항상 필요하지는 않습니다. 무엇에 의존하는지 잘 모르겠습니다.