1

我发现问题出在这部分: this:_a650.argument1="this is a test" 有谁知道 XAML 文件中的这个表达式在 Activity 标记中是什么意思?

如果我把它拿出来 这个:_a650.argument1="this is a test" 那么我可以在工作流设计器中打开工作流文件没有问题,但是当它在那里时,我收到以下错误消息:工作流设计器遇到了你的问题文档 请检查文档中的无效内容、命名空间、引用或引用循环。在 _a650 类型中找不到成员参数 1 有什么想法吗?

<Activity mc:Ignorable="sap sads" x:Class="{x:Null}" this:_a650.argument1="this is a test"
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities"
 xmlns:s="clr-namespace:System;assembly=mscorlib"
 xmlns:s1="clr-namespace:System;assembly=System"
 xmlns:s2="clr-namespace:System;assembly=System.Core"
 xmlns:s3="clr-namespace:System;assembly=System.ServiceModel"
 xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger"
 xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation"
 xmlns:scg="clr-namespace:System.Collections.Generic;assembly=mscorlib"
 xmlns:this="clr-namespace:"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <x:Members>
    <x:Property Name="argument1" Type="InArgument(x:String)" />
  </x:Members>
  <sap:VirtualizedContainerService.HintSize>526.4,369.6</sap:VirtualizedContainerService.HintSize>
  <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings>
  <Sequence sap:VirtualizedContainerService.HintSize="486.4,329.6">
    <sap:WorkflowViewStateService.ViewState>
      <scg:Dictionary x:TypeArguments="x:String, x:Object">
        <x:Boolean x:Key="IsExpanded">True</x:Boolean>
      </scg:Dictionary>
    </sap:WorkflowViewStateService.ViewState>
    <If Condition="[2 = 2]" sap:VirtualizedContainerService.HintSize="464,204.8" />
  </Sequence>
</Activity>
4

1 回答 1

1

x:Class={x:Null}将属性更改为_a650。XAML 应该可以正常打开。

<Activity mc:Ignorable="sap" x:Class="_a650" this:_a650.argument1="this is a test" ... >

表达式 this:_a650.argument1="this is a test"Members中的Property定义一起声明了属于某个类型的String类型的 IN 参数(默认值为“this is a test” ) 。_a650

<x:Property Name="argument1" Type="InArgument(x:String)" />

此问题的答案与您的其他问题之一有关Visual Studio 2010 - Workflow Designer在 SO 上遇到的问题。因为,必须将参数声明为类型的成员,但尚未命名“根”活动以从中派生类型;生成并使用随机类型名称(如 _a650)。

但是,“根”活动名称未更新,因此在 XAML 序列化时x:Class仍生成为{x:Null}. 当在工作流设计器中打开相同的 XAML 时,这会导致命名空间错误,因为 XAML 解析器无法找到任何x:Class声明的_a650类型。

于 2013-05-02T12:19:56.010 回答