Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建嵌套的自定义WPF活动并执行嵌套的活动_C#_Wpf_Wpf Controls_Uipath - Fatal编程技术网

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

C# 创建嵌套的自定义WPF活动并执行嵌套的活动,c#,wpf,wpf-controls,uipath,C#,Wpf,Wpf Controls,Uipath,我试图创建一个范围,以包含一组使用C#&WPF在UiPath中使用的活动 我可以使用下面的类创建自定义活动 using System.Activities; namespace Custom_Activities { public sealed class Scoped_Activity : Scoped_Activity_Template { protected override void Execute(CodeActivityContext context

我试图创建一个范围,以包含一组使用C#&WPF在UiPath中使用的活动

我可以使用下面的类创建自定义活动

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");
        }
    }
}
using System.Activities;

namespace Custom_Activities
{
    public class Custom_Activity_Scope : CodeActivity
    {
        protected override void Execute(CodeActivityContext context)
        {
            System.Console.WriteLine("Scope Executing");
        }
    }
}
我可以使用下面的类创建一个包含此活动的范围

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");
        }
    }
}
using System.Activities;

namespace Custom_Activities
{
    public class Custom_Activity_Scope : CodeActivity
    {
        protected override void Execute(CodeActivityContext context)
        {
            System.Console.WriteLine("Scope Executing");
        }
    }
}
和下面的设计器文件

<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 Executing”)

当我运行
Custom\u Activity\u Scope
时,我得到了所需的输出(日志消息说“Scope Executing”)

但是,当我将
Scoped_活动
放在
Custom_活动
范围内时,我只收到消息“Scope Executing”,因此
Scoped_活动
似乎没有执行

我不太确定我的下一步应该是在
Custom\u活动范围内执行
Scoped\u活动

在这里(以下是一条评论),您可以找到很好的解决方案:

我还没有运行它,但在VS2017中尝试过,它的性能与预期一样

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

当您说“当我将范围内的活动放置在自定义活动范围内时”是什么意思?Like:public类自定义\u活动\u作用域:作用域_Activity@user10728126,我在问题中添加了一个屏幕截图,希望有意义/帮助活动中的执行方法都只执行一些跟踪,没有搜索嵌套活动然后从中调用Execute的代码。自定义_Activity_作用域中必须有搜索嵌套活动并显式执行它们的代码,就像序列活动一样。@recineshto这很有意义。该范围是否仍然可以从CodeActivity继承/实现,环顾一下一些网站是否提到使用NativeActivity?不要假设您有任何指向示例的链接etc@Conor,这一次的另一个示例,尝试模拟序列:),并且有执行控制