mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-02 15:50:47 +08:00
130 lines
9.7 KiB
XML
130 lines
9.7 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:local="clr-namespace:Serein.Workbench.Themes"
|
|
xmlns:view="clr-namespace:Serein.Workbench.Node.View"
|
|
xmlns:sys="clr-namespace:System;assembly=mscorlib"
|
|
xmlns:converters="clr-namespace:Serein.Workbench.Tool.Converters">
|
|
|
|
|
|
<ResourceDictionary.MergedDictionaries>
|
|
</ResourceDictionary.MergedDictionaries>
|
|
<converters:InvertableBooleanToVisibilityConverter x:Key="InvertedBoolConverter"/>
|
|
|
|
<Style TargetType="{x:Type local:MethodDetailsControl}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type local:MethodDetailsControl}">
|
|
|
|
<!--根据方法入参数量生成相应的控件-->
|
|
<ItemsControl ItemsSource="{Binding MethodDetails.ParameterDetailss, RelativeSource={RelativeSource TemplatedParent}}" Background="#E3FDFD" >
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid >
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
<!--连接控制器-->
|
|
<view:ArgJunctionControl x:Name="ArgJunctionControl" Grid.Column="0" ArgIndex="{Binding Index}" MyNode="{Binding NodeModel}" />
|
|
<!--参数索引提示-->
|
|
<TextBlock Grid.Column="1" Text="{Binding Index,StringFormat=agr{0}}" Margin="2,0,2,0" VerticalAlignment="Center"/>
|
|
<!--是否设置为显式参数-->
|
|
<CheckBox Grid.Column="2" IsChecked="{Binding IsExplicitData, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Margin="2,0,2,0" VerticalContentAlignment="Center"/>
|
|
<!--入参参数名称-->
|
|
<TextBlock Grid.Column="3" MinWidth="50" Text="{Binding Name}" Margin="2,0,2,0" HorizontalAlignment="Left" VerticalAlignment="Center"/>
|
|
<!--增加可选参数(如果有)-->
|
|
<view:ParamsArgControl x:Name="ParamsArgControl"
|
|
ArgIndex="{Binding Index}"
|
|
MyNode="{Binding NodeModel}"
|
|
Width="12"
|
|
Grid.Column="5" Margin="2,0,2,0" HorizontalAlignment="Right" VerticalAlignment="Center"
|
|
Visibility="{Binding IsParams, Mode=OneWay,
|
|
Converter={StaticResource InvertedBoolConverter},ConverterParameter=Normal}"
|
|
/>
|
|
|
|
<ContentControl Content="{Binding}" Grid.Column="4" VerticalAlignment="Center">
|
|
<ContentControl.Style>
|
|
<Style TargetType="ContentControl">
|
|
<Style.Triggers>
|
|
<!--无须指定参数-->
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsExplicitData}" Value="false" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="ContentTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBlock Grid.Column="0" MinWidth="50" Text="无须指定参数"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiDataTrigger>
|
|
|
|
<!--指定参数:选项类型-->
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsExplicitData}" Value="true" />
|
|
<Condition Binding="{Binding ExplicitTypeName}" Value="Select" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="ContentTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<ComboBox Grid.Column="0"
|
|
MinWidth="50"
|
|
ItemsSource="{Binding Items}"
|
|
SelectedItem="{Binding DataValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" />
|
|
</Grid>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiDataTrigger>
|
|
|
|
<!--指定参数:文本类型(可输入)-->
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsExplicitData}" Value="true" />
|
|
<Condition Binding="{Binding ExplicitTypeName}" Value="Value" />
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="ContentTemplate">
|
|
<Setter.Value>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox Grid.Column="0" MinWidth="50" Text="{Binding DataValue, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</MultiDataTrigger>
|
|
|
|
</Style.Triggers>
|
|
</Style>
|
|
</ContentControl.Style>
|
|
</ContentControl>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
</ResourceDictionary>
|