工作流WF的设计器XAML代码写起来很蹩脚,基本上每次都得从之前的其他设计器xaml文件中复制代码过来再修改,这样很麻烦也很容易出错,这里介绍一个使用RegeX3实现快速转换属性为设计器XAML代码的方法。

首先新建一个WorkFlow代码活动:

image

然后进行编写,编写后假设我们的属性代码是这样的:

[RequiredArgument]
        public InArgument<Bitmap> 处理目标 { get; set; }
        [RequiredArgument]
        public InArgument<Int32> 最小宽度 { get; set; }
        [RequiredArgument]
        public InArgument<Int32> 最小高度 { get; set; }

注意:不要使用int、float这类的C#关键字做类型,因为其在XAML中不受支持,要使用它们的真实类型名称Int32、Single等。

将其全部复制,打开RegeX3,粘贴入,然后执行如下的多步替换:

第一步

表达式
[RequiredArgument]s*rn

替换为
*

第二步

表达式
(*?)s*publics+(w+)Argument<(w+)>s+(w+)

替换为 (勾选“替换时删除其它文字”选项)

        <Label Content="$1$4:"/>
        <sapv:ExpressionTextBox
            OwnerActivity="{Binding Path=ModelItem}"
            ExpressionType="system:$3"
            UseLocationExpression="False">
            <sapv:ExpressionTextBox.Expression>
                <Binding
                    Path="ModelItem.$4"
                    Mode="TwoWay"
                    Converter="{StaticResource ArgumentToExpressionConverter}"
                    ConverterParameter="$2" />
            </sapv:ExpressionTextBox.Expression>
        </sapv:ExpressionTextBox>

第三步

表达式
^[sS]+$

替换为
<sap:ActivityDesigner.Resources>
        <ResourceDictionary>
            <converters:ArgumentToExpressionConverter x:Key="ArgumentToExpressionConverter" />
        </ResourceDictionary>
    </sap:ActivityDesigner.Resources>
    <StackPanel MaxWidth="230">

$0

    </StackPanel>

最终界面效果:

image

在这里我们自动转换了属性代码中的属性名、类型、是否为必要字段、参数输入输出方向信息。

最终得到的代码:

<sap:ActivityDesigner.Resources>        <ResourceDictionary>            <converters:ArgumentToExpressionConverter x:Key="ArgumentToExpressionConverter" />        </ResourceDictionary>    </sap:ActivityDesigner.Resources>    <StackPanel MaxWidth="230">
        <Label Content="*处理目标:"/>
        <sapv:ExpressionTextBox             OwnerActivity="{Binding Path=ModelItem}"            ExpressionType="system:Bitmap"            UseLocationExpression="False">            <sapv:ExpressionTextBox.Expression>                <Binding                     Path="ModelItem.处理目标"                     Mode="TwoWay"                     Converter="{StaticResource ArgumentToExpressionConverter}"                    ConverterParameter="In" />            </sapv:ExpressionTextBox.Expression>        </sapv:ExpressionTextBox>

        <Label Content="*最小宽度:"/>
        <sapv:ExpressionTextBox             OwnerActivity="{Binding Path=ModelItem}"            ExpressionType="system:Int32"            UseLocationExpression="False">            <sapv:ExpressionTextBox.Expression>                <Binding                     Path="ModelItem.最小宽度"                     Mode="TwoWay"                     Converter="{StaticResource ArgumentToExpressionConverter}"                    ConverterParameter="In" />            </sapv:ExpressionTextBox.Expression>        </sapv:ExpressionTextBox>

        <Label Content="*最小高度:"/>
        <sapv:ExpressionTextBox             OwnerActivity="{Binding Path=ModelItem}"            ExpressionType="system:Int32"            UseLocationExpression="False">            <sapv:ExpressionTextBox.Expression>                <Binding                     Path="ModelItem.最小高度"                     Mode="TwoWay"                     Converter="{StaticResource ArgumentToExpressionConverter}"                    ConverterParameter="In" />            </sapv:ExpressionTextBox.Expression>        </sapv:ExpressionTextBox>
            </StackPanel>

现在新建WorkFlow活动设计器:

image

删除其中的Grid元素,然后粘贴上面的代码到其位置,接着根据IDE的提示自动更正一些类型引用缺失或错误,即完成设计器了。

然后别忘了在代码活动的类型签名上指明对应的设计器特性:

[Designer(typeof(XXXXXXXX))]

使用时的界面效果:

image

为了方便下次使用,你应该将RegeX3中的数据导出为xml文件,下次直接导入后粘贴入新的属性并执行替换即可。

如果你懒得输入还可以直接把下面的XML代码复制到记事本并存为一个xml文件,用RegeX3导入即可使用:

<?xml version="1.0" encoding="utf-8"?>
<TextNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <ID>b3289144-ecfb-4686-b329-5562188a8d3c</ID>
  <ParentID xsi:nil="true" />
  <Type>InputText</Type>
  <Text>
    <string>[RequiredArgument]{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        public InArgument&lt;Bitmap&gt; 处理目标 { get; set; }{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        [RequiredArgument]{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        public InArgument&lt;Int32&gt; 最小宽度 { get; set; }{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        [RequiredArgument]{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        public InArgument&lt;Int32&gt; 最小高度 { get; set; }</string>
  </Text>
  <RegexExpression>[RequiredArgument]s*rn</RegexExpression>
  <ReplaceExpression>*</ReplaceExpression>
  <IsClearOtherText>false</IsClearOtherText>
  <RegexOptions>None</RegexOptions>
  <SubNode>
    <TextNode>
      <ID>052b63eb-957a-4e96-9b77-2d5ba493778c</ID>
      <ParentID>b3289144-ecfb-4686-b329-5562188a8d3c</ParentID>
      <Type>Group</Type>
      <Text>
        <string>[RequiredArgument]{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}</string>
        <string>[RequiredArgument]{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}</string>
        <string>[RequiredArgument]{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}</string>
      </Text>
      <Title>0</Title>
      <RegexExpression />
      <ReplaceExpression />
      <IsClearOtherText>false</IsClearOtherText>
      <RegexOptions>None</RegexOptions>
      <SubNode />
      <Highlight>false</Highlight>
      <Deep>1</Deep>
      <RefDeep>0</RefDeep>
    </TextNode>
    <TextNode>
      <ID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ID>
      <ParentID>b3289144-ecfb-4686-b329-5562188a8d3c</ParentID>
      <Type>OutputText</Type>
      <Text>
        <string>*        public InArgument&lt;Bitmap&gt; 处理目标 { get; set; }{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        *        public InArgument&lt;Int32&gt; 最小宽度 { get; set; }{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        *        public InArgument&lt;Int32&gt; 最小高度 { get; set; }</string>
      </Text>
      <RegexExpression>(*?)s*publics+(w+)Argument&lt;(w+)&gt;s+(w+)</RegexExpression>
      <ReplaceExpression>
        &lt;Label Content="$1$4:"/&gt;
        &lt;sapv:ExpressionTextBox
            OwnerActivity="{Binding Path=ModelItem}"
            ExpressionType="system:$3"
            UseLocationExpression="False"&gt;
            &lt;sapv:ExpressionTextBox.Expression&gt;
                &lt;Binding
                    Path="ModelItem.$4"
                    Mode="TwoWay"
                    Converter="{StaticResource ArgumentToExpressionConverter}"
                    ConverterParameter="$2" /&gt;
            &lt;/sapv:ExpressionTextBox.Expression&gt;
        &lt;/sapv:ExpressionTextBox&gt;
</ReplaceExpression>
      <IsClearOtherText>true</IsClearOtherText>
      <RegexOptions>None</RegexOptions>
      <SubNode>
        <TextNode>
          <ID>e5a5cb2d-2ab0-42ff-a144-e26b226a5da8</ID>
          <ParentID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ParentID>
          <Type>Group</Type>
          <Text>
            <string>*        public InArgument&lt;Bitmap&gt; 处理目标</string>
            <string>*        public InArgument&lt;Int32&gt; 最小宽度</string>
            <string>*        public InArgument&lt;Int32&gt; 最小高度</string>
          </Text>
          <Title>0</Title>
          <RegexExpression />
          <ReplaceExpression />
          <IsClearOtherText>false</IsClearOtherText>
          <RegexOptions>None</RegexOptions>
          <SubNode />
          <Highlight>false</Highlight>
          <Deep>2</Deep>
          <RefDeep>0</RefDeep>
        </TextNode>
        <TextNode>
          <ID>2ef839d5-81c3-434e-b30f-e04877b8e0e4</ID>
          <ParentID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ParentID>
          <Type>Group</Type>
          <Text>
            <string>*</string>
            <string>*</string>
            <string>*</string>
          </Text>
          <Title>1</Title>
          <RegexExpression />
          <ReplaceExpression />
          <IsClearOtherText>false</IsClearOtherText>
          <RegexOptions>None</RegexOptions>
          <SubNode />
          <Highlight>false</Highlight>
          <Deep>2</Deep>
          <RefDeep>0</RefDeep>
        </TextNode>
        <TextNode>
          <ID>c7a49f7a-b465-497f-a4b1-b9258eae179e</ID>
          <ParentID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ParentID>
          <Type>Group</Type>
          <Text>
            <string>In</string>
            <string>In</string>
            <string>In</string>
          </Text>
          <Title>2</Title>
          <RegexExpression />
          <ReplaceExpression />
          <IsClearOtherText>false</IsClearOtherText>
          <RegexOptions>None</RegexOptions>
          <SubNode />
          <Highlight>false</Highlight>
          <Deep>2</Deep>
          <RefDeep>0</RefDeep>
        </TextNode>
        <TextNode>
          <ID>d844d8f3-a145-4302-b121-2be69aeef4d3</ID>
          <ParentID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ParentID>
          <Type>Group</Type>
          <Text>
            <string>Bitmap</string>
            <string>Int32</string>
            <string>Int32</string>
          </Text>
          <Title>3</Title>
          <RegexExpression />
          <ReplaceExpression />
          <IsClearOtherText>false</IsClearOtherText>
          <RegexOptions>None</RegexOptions>
          <SubNode />
          <Highlight>false</Highlight>
          <Deep>2</Deep>
          <RefDeep>0</RefDeep>
        </TextNode>
        <TextNode>
          <ID>3d85a49b-7aee-4316-8101-0eae8928d6a2</ID>
          <ParentID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ParentID>
          <Type>Group</Type>
          <Text>
            <string>处理目标</string>
            <string>最小宽度</string>
            <string>最小高度</string>
          </Text>
          <Title>4</Title>
          <RegexExpression />
          <ReplaceExpression />
          <IsClearOtherText>false</IsClearOtherText>
          <RegexOptions>None</RegexOptions>
          <SubNode />
          <Highlight>false</Highlight>
          <Deep>2</Deep>
          <RefDeep>0</RefDeep>
        </TextNode>
        <TextNode>
          <ID>92c68b2a-99b4-4862-8325-ce2b0f180fcd</ID>
          <ParentID>4a01329b-bb0f-4a21-b201-03fd7a93501a</ParentID>
          <Type>OutputText</Type>
          <Text>
            <string>{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*处理目标:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Bitmap"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.处理目标" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*最小宽度:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Int32"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.最小宽度" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*最小高度:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Int32"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.最小高度" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}</string>
          </Text>
          <RegexExpression>^[sS]+$</RegexExpression>
          <ReplaceExpression>&lt;sap:ActivityDesigner.Resources&gt;
        &lt;ResourceDictionary&gt;
            &lt;converters:ArgumentToExpressionConverter x:Key="ArgumentToExpressionConverter" /&gt;
        &lt;/ResourceDictionary&gt;
    &lt;/sap:ActivityDesigner.Resources&gt;
    &lt;StackPanel MaxWidth="230"&gt;

$0

    &lt;/StackPanel&gt;</ReplaceExpression>
          <IsClearOtherText>false</IsClearOtherText>
          <RegexOptions>None</RegexOptions>
          <SubNode>
            <TextNode>
              <ID>932c5b88-f5c9-4b54-8c70-e3d2e994ebac</ID>
              <ParentID>92c68b2a-99b4-4862-8325-ce2b0f180fcd</ParentID>
              <Type>Group</Type>
              <Text>
                <string>{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*处理目标:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Bitmap"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.处理目标" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*最小宽度:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Int32"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.最小宽度" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*最小高度:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Int32"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.最小高度" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}</string>
              </Text>
              <Title>0</Title>
              <RegexExpression />
              <ReplaceExpression />
              <IsClearOtherText>false</IsClearOtherText>
              <RegexOptions>None</RegexOptions>
              <SubNode />
              <Highlight>false</Highlight>
              <Deep>3</Deep>
              <RefDeep>0</RefDeep>
            </TextNode>
            <TextNode>
              <ID>a043771e-16af-4357-8375-8662ed9fd3ec</ID>
              <ParentID>92c68b2a-99b4-4862-8325-ce2b0f180fcd</ParentID>
              <Type>OutputText</Type>
              <Text>
                <string>&lt;sap:ActivityDesigner.Resources&gt;{[&gt;--(|R|)--&lt;]}        &lt;ResourceDictionary&gt;{[&gt;--(|R|)--&lt;]}            &lt;converters:ArgumentToExpressionConverter x:Key="ArgumentToExpressionConverter" /&gt;{[&gt;--(|R|)--&lt;]}        &lt;/ResourceDictionary&gt;{[&gt;--(|R|)--&lt;]}    &lt;/sap:ActivityDesigner.Resources&gt;{[&gt;--(|R|)--&lt;]}    &lt;StackPanel MaxWidth="230"&gt;{[&gt;--(|R|)--&lt;]}{[&gt;--(|R|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*处理目标:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Bitmap"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.处理目标" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*最小宽度:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Int32"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.最小宽度" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay" {[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|N|)--&lt;]}        &lt;Label Content="*最小高度:"/&gt;{[&gt;--(|N|)--&lt;]}        &lt;sapv:ExpressionTextBox {[&gt;--(|R|)--&lt;]}            OwnerActivity="{Binding Path=ModelItem}"{[&gt;--(|R|)--&lt;]}            ExpressionType="system:Int32"{[&gt;--(|R|)--&lt;]}            UseLocationExpression="False"&gt;{[&gt;--(|R|)--&lt;]}            &lt;sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}                &lt;Binding {[&gt;--(|R|)--&lt;]}                    Path="ModelItem.最小高度" {[&gt;--(|R|)--&lt;]}                    Mode="TwoWay"
{[&gt;--(|R|)--&lt;]}                    Converter="{StaticResource ArgumentToExpressionConverter}"{[&gt;--(|R|)--&lt;]}                    ConverterParameter="In" /&gt;{[&gt;--(|R|)--&lt;]}            &lt;/sapv:ExpressionTextBox.Expression&gt;{[&gt;--(|R|)--&lt;]}        &lt;/sapv:ExpressionTextBox&gt;{[&gt;--(|N|)--&lt;]}{[&gt;--(|R|)--&lt;]}        {[&gt;--(|R|)--&lt;]}    &lt;/StackPanel&gt;</string>
              </Text>
              <RegexExpression />
              <ReplaceExpression />
              <IsClearOtherText>false</IsClearOtherText>
              <RegexOptions>None</RegexOptions>
              <SubNode />
              <Highlight>true</Highlight>
              <Deep>3</Deep>
              <RefDeep>0</RefDeep>
            </TextNode>
          </SubNode>
          <Highlight>false</Highlight>
          <Deep>2</Deep>
          <RefDeep>0</RefDeep>
        </TextNode>
      </SubNode>
      <Highlight>false</Highlight>
      <Deep>1</Deep>
      <RefDeep>0</RefDeep>
    </TextNode>
  </SubNode>
  <Highlight>false</Highlight>
  <Deep>0</Deep>
  <RefDeep>0</RefDeep>
</TextNode>
转载此文章时须注明转载自”SkyD(斯克迪亚)开发者博客“,并保留此文章的Url链接

作者信息

昵称
斯克迪亚

查看其所发布的所有文章

总积分
2440
注册时间
(2018年5月4日 19:06)

评论

目前还没有任何评论。

[切换到移动版页面]