사용자 지정 복합 디자이너 - 워크플로 항목 프리젠터
WorkflowItemPresenter는 임의의 활동을 배치할 수 있는 “끌어 놓기 영역”을 만들 수 있도록 하는 WF 디자이너 프로그래밍 모델의 키 형식입니다. 이 샘플에서는 “드롭 영역” 같은 화면을 표시하는 활동 디자이너를 빌드하는 방법을 보여 줍니다.
WorkflowItemPresenter 샘플은 다음을 보여 줍니다.
WorkflowItemPresenter를 사용하여 사용자 지정 활동 디자이너 만들기
메타데이터 저장소를 사용하여 사용자 지정 디자이너 등록
다시 호스트된 도구 상자를 선언적으로 또는 명령적으로 프로그래밍
샘플 세부 정보
이 샘플의 코드는 다음을 보여 줍니다.
SimpleNativeActivity
클래스에 대해 사용자 지정 활동 디자이너가 빌드됩니다.WorkflowItemPresenter를 사용하여 사용자 지정 활동 디자이너를 만드는 방법
<sap:ActivityDesigner x:Class="Microsoft.Samples.UsingWorkflowItemPresenter.SimpleNativeDesigner"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation">
<sap:ActivityDesigner.Resources>
<DataTemplate x:Key="Collapsed">
<StackPanel>
<TextBlock>This is the collapsed view</TextBlock>
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="Expanded">
<StackPanel>
<TextBlock>Custom Text</TextBlock>
<sap:WorkflowItemPresenter Item="{Binding Path=ModelItem.Body, Mode=TwoWay}"
HintText="Please drop an activity here" />
</StackPanel>
</DataTemplate>
<Style x:Key="ExpandOrCollapsedStyle" TargetType="{x:Type ContentPresenter}">
<Setter Property="ContentTemplate" Value="{DynamicResource Collapsed}"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ShowExpanded}" Value="true">
<Setter Property="ContentTemplate" Value="{DynamicResource Expanded}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</sap:ActivityDesigner.Resources>
<Grid>
<ContentPresenter Style="{DynamicResource ExpandOrCollapsedStyle}" Content="{Binding}" />
</Grid>
</sap:ActivityDesigner>
WPF 데이터 바인딩을 사용하여 ModelItem.Body
에 바인딩합니다. ModelItem
은 디자이너가 사용될 기본 개체(이 경우 SimpleNativeActivity)를 참조하는 ActivityDesigner의 속성입니다.
샘플 설치, 빌드 및 실행
Visual Studio에서 솔루션을 엽니다.
F5 키를 눌러 애플리케이션을 컴파일하고 실행합니다.
참고 항목
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET