2014-01-13 4 views
2

여기에 누락 된 것이 있지만 많은 인터넷 검색 결과 나를 찾아 내지 못했습니다. 상황은 다음과 같습니다.중첩 된 활동에서 Property 인수 값에 액세스하는 방법은 무엇입니까?

우리는 최종 사용자가 정의한 다양한 사용자 지정 작업 (검토, 전송, 알림 등)에서 워크 플로 정의를 작성할 수있는 사용자 지정 워크 플로 디자이너를 만들었습니다. 이러한 정의 (Xaml)는 DB에 저장되어 시스템에서 장시간 실행되는 프로세스에 대한 워크 플로 인스턴스를 만드는 데 사용됩니다. 사용자는 각 속성에 속성을 설정할 수 있습니다 (예 : 리뷰에 속성 인수 : AllowedRoles가 있음). 문제는 중첩 된 활동에 해당 속성을 전달할 수 없다는 것입니다. 예를 들어

:

검토는 검토의 'AllowedRoles'속성에 대한 액세스를 필요로하는 내부 활동 'WriteStatus'를 가지고있다. 'AllowedRoles'가 속성으로 정의 된 경우 WriteStatus는 해당 값을 할당하도록 '볼'수 없습니다. Property에서 InArgument로 변경할 수는 있지만, 디자이너의 속성과 값을 매핑 할 수 없습니다.이 속성은 정의의 일부 여야하며 특정 컨텍스트와 연결되어서는 안됩니다.

누구든지이 문제에 직면했거나 문제를 어떻게 다르게 접근 할 수 있었는지에 대한 조언을 받았습니까?

미리 감사드립니다.

로이스

+0

* 속성에서 InArgument로 변경할 수 있지만 디자이너의 속성과 값을 매핑 할 수 없습니다 *. 왜? 왜 당신은'InOutArgument'를 사용하지 않습니까? 그것은 정확히 다음과 같이 할 수 있습니다 : * 속성 값을 매핑합니다. 물론 디자이너에서 편집 할 수 있습니다. 일반적으로 워크 플로우 변수를 정의하고 출력 값을 할당하여'(In) OutArgument'에서 값을 얻습니다. – Joao

답변

0

나는 코드에 XAML 활동을 변환하여 InOurArgument 문제에 대 건물 주위에 얻을 수있었습니다. 이를 통해 코드의 활동에 대한 속성을 설정 한 다음 내부 활동에 인라인으로 전달할 수있었습니다. 더 좋은 방법이있을 수 있지만, 지금까지 잘 진행 중입니다.

public sealed class Test : Activity 
{ 
    public string Stuff { get; set; } // CLR Property 

    public Test() 
    { 
     Implementation =() => new WriteLine {Text = Stuff}; 
    } 
} 
관련 문제