<local:NodeControlBase x:Class="Serein.WorkBench.Node.View.ActionNodeControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:local="clr-namespace:Serein.WorkBench.Node.View"
             xmlns:vm="clr-namespace:Serein.WorkBench.Node.ViewModel"
             xmlns:Converters="clr-namespace:Serein.WorkBench.Tool.Converters"
             xmlns:themes="clr-namespace:Serein.WorkBench.Themes"
             MaxWidth="300">
    <UserControl.Resources>
        <!--<BooleanToVisibilityConverter x:Key="BoolToVisConverter" />-->
        <Converters:InvertableBooleanToVisibilityConverter x:Key="InvertedBoolConverter"/>
    </UserControl.Resources>

    <Border BorderBrush="#8DE9FD" BorderThickness="1">

   
    <Grid>
        <Grid.ToolTip>
            <ToolTip Background="LightYellow" Foreground="#071042" Content="{Binding MethodDetails.MethodName, UpdateSourceTrigger=PropertyChanged}" />
        </Grid.ToolTip>

        <Border>
            <Border.Style>
                <Style TargetType="Border">
                    <!-- 默认无边框 -->
                    <Setter Property="BorderBrush" Value="Transparent" />
                    <Setter Property="BorderThickness" Value="0" />
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding IsInterrupt}" Value="True">
                            <Setter Property="BorderBrush" Value="Red" />
                            <Setter Property="BorderThickness" Value="2" />
                            <Setter Property="Background" Value="#80000000" />
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Border.Style>

            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>

                <StackPanel Grid.Row="0" Orientation="Horizontal" Background="#8DE9FD">
                    <CheckBox  IsChecked="{Binding DebugSetting.IsEnable, Mode=TwoWay}" VerticalContentAlignment="Center"/>
                    <CheckBox  IsChecked="{Binding MethodDetails.IsProtectionParameter, Mode=TwoWay}" VerticalContentAlignment="Center"/>
                    <TextBlock Text="{Binding MethodDetails.MethodTips}" HorizontalAlignment="Center" VerticalAlignment="Center"/>
                </StackPanel>
                <themes:MethodDetailsControl Grid.Row="1" MethodDetails="{Binding MethodDetails}"/>
                <!-- ParameterProtectionMask 参数保护 -->
                <!--取反 Visibility="{Binding DebugSetting.IsEnable, Converter={StaticResource InvertedBoolConverter}, ConverterParameter=Inverted}"-->
                <Border Grid.Row="1" x:Name="ParameterProtectionMask" Background="LightBlue" Opacity="0.5" BorderBrush="#0A4651" BorderThickness="0" 
                        Visibility="{Binding MethodDetails.IsProtectionParameter, Converter={StaticResource InvertedBoolConverter},ConverterParameter=Normal}" />
                <Grid Grid.Row="2"   Background="#D5F0FC" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="50"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <Border Grid.Column="0"  BorderThickness="1">
                        <TextBlock Text="result"  HorizontalAlignment="Center"  VerticalAlignment="Center" />
                    </Border>
                    <Border Grid.Column="1"  BorderThickness="1">
                        <TextBlock Text="{Binding MethodDetails.ReturnType}"  HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    </Border>
                </Grid>
                
            </Grid>

        </Border>
        
        <!--Visibility="{Binding IsEnable, Converter={StaticResource BoolToVisConverter}, ConverterParameter=False}"-->


        </Grid>
    </Border>
</local:NodeControlBase>
