首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建嵌套的自定义WPF活动并执行嵌套活动

创建嵌套的自定义WPF活动并执行嵌套活动
EN

Stack Overflow用户
提问于 2019-08-28 18:36:10
回答 1查看 347关注 0票数 0

我正在尝试创建一个作用域,以包含一组使用C# & WPF在UiPath中使用的活动。

我能够使用下面的类创建一个自定义活动

代码语言:javascript
复制
using System.Activities;

namespace Custom_Activities
{
    public sealed class Scoped_Activity : Scoped_Activity_Template
    {
        protected override void Execute(CodeActivityContext context)
        {
            System.Console.WriteLine("Custom Activity Executing");
        }
    }
}

我可以使用下面的类创建一个包含此活动的作用域

代码语言:javascript
复制
using System.Activities;

namespace Custom_Activities
{
    public class Custom_Activity_Scope : CodeActivity
    {
        protected override void Execute(CodeActivityContext context)
        {
            System.Console.WriteLine("Scope Executing");
        }
    }
}

和下面的设计器文件

代码语言:javascript
复制
<sap:ActivityDesigner 
    x:Class="Custom_Activities.Custom_Activity_Scope_Designer"
                    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                    xmlns:sapc="clr-namespace:System.Activities.Presentation.Converters;assembly=System.Activities.Presentation"
                    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation"
                    xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
                    xmlns:s="clr-namespace:System;assembly=mscorlib">
    <sap:ActivityDesigner.Resources>
        <ResourceDictionary x:Uid="ResourceDictionary_1">
            <sapc:ArgumentToExpressionConverter x:Key="ArgumentToExpressionConverter" />
            <sapc:ModelToObjectValueConverter x:Key="ModelToObjectValueConverter" />




            <DataTemplate x:Key="Collapsed">

            </DataTemplate>

            <DataTemplate x:Key="Expanded">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition />
                    </Grid.ColumnDefinitions>

                    <Grid.RowDefinitions>
                        <RowDefinition />
                    </Grid.RowDefinitions>


                    <sap:WorkflowItemPresenter Grid.Row="0" Grid.Column="0" Margin="5" />
                </Grid>
            </DataTemplate>

            <Style x:Key="ExpandOrCollapsedStyle" TargetType="{x:Type ContentPresenter}">
                <Setter Property="ContentTemplate" Value="{DynamicResource Expanded}" />
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=ShowExpanded}" Value="false">
                        <Setter Property="ContentTemplate" Value="{DynamicResource Collapsed}" />
                    </DataTrigger>
                </Style.Triggers>
            </Style>

        </ResourceDictionary>
    </sap:ActivityDesigner.Resources>
    <Grid>
        <ContentPresenter Style="{DynamicResource ExpandOrCollapsedStyle}" Content="{Binding}" />
    </Grid>
</sap:ActivityDesigner>

当我运行Scoped_Activity时,我得到了所需的输出(日志消息,上面写着“自定义活动正在执行”)

当我运行Custom_Activity_Scope时,我得到了所需的输出(日志消息,上面写着“范围执行”)

但是,当我将Scoped_Activity放置在Custom_Activity_Scope中时,我只会得到消息‘作用域执行’,这样Scoped_Activity看起来就不会执行。

我不太确定下一步该如何在Scoped_Activity中执行Custom_Activity_Scope

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-28 22:12:24

在这里您可以找到一个很好的解决方案:Windows Workflow Custom Sequence Activity

我还没有运行它,但是在VS2017中尝试了它,它的行为和预期的一样。

唯一的问题是找出正确的程序集引用。除了System.Activities和System.Activities.Presentation之外,还需要参考System.Activities.Presentation。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57698311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档