<UserControl
    x:Class="PDF_Master.Views.PropertyPanel.AnnotPanel.SignatureCreateDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:annotpanel="clr-namespace:PDF_Master.ViewModels.PropertyPanel.AnnotPanel"
    xmlns:cus="clr-namespace:PDF_Master.CustomControl"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:dataconvert="clr-namespace:PDF_Master.DataConvert"
    xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
    xmlns:local="clr-namespace:PDF_Master.Views.PropertyPanel.AnnotPanel"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:prism="http://prismlibrary.com/"
    Width="468"
    Height="392"
    d:DataContext="{d:DesignInstance Type=annotpanel:SignatureCreateDialogViewModel}"
    prism:Dialog.WindowStyle="{StaticResource DialogWindowStyle}"
    Loaded="UserControl_Loaded"
    mc:Ignorable="d">
    <UserControl.Resources>

        <Style TargetType="{x:Type TabItem}">
            <Setter Property="Width" Value="74.67 " />
            <Setter Property="Height" Value="28" />
            <Setter Property="BorderThickness" Value="0" />
            <Setter Property="Template" Value="{DynamicResource Segmented}" />
        </Style>
        <dataconvert:UnVisivleConvert x:Key="UnVisivleConvert" />
        <dataconvert:IntAndTagToBoolMultiBinding x:Key="IntAndTagToBoolMultiBinding" />
        <dataconvert:ListCountAndBoolToVisible x:Key="ListCountAndBoolToVisible" />
        <dataconvert:IntToColorBrush x:Key="IntToColorBrush" />
        <dataconvert:ListCountToVisible x:Key="ListCountToVisible" />
        <dataconvert:CenterToolTipConverter x:Key="CenterToolTipConverter" />
        <dataconvert:SignatureButtonConvert x:Key="SignatureButtonConvert" />

        <Style x:Key="TriangleToolTipStyle" TargetType="ToolTip">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate>
                        <StackPanel>
                            <Path
                                Margin="0,0,10,0"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Center"
                                Data="M 6 0 L 0 6 L 12 6 Z"
                                Fill="#E6333333" />
                            <Border
                                HorizontalAlignment="Stretch"
                                VerticalAlignment="Stretch"
                                Background="#E6333333"
                                CornerRadius="8">
                                <TextBlock
                                    Margin="6"
                                    Foreground="White"
                                    LineHeight="20"
                                    Text="{TemplateBinding ContentControl.Content}" />
                            </Border>
                        </StackPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </UserControl.Resources>
    <cus:DialogContent x:Name="DialogHeader">
        <cus:DialogContent.Content>
            <TabControl
                BorderThickness="0"
                SelectedIndex="{Binding TabItemIndex, Mode=TwoWay}"
                Style="{StaticResource FormTabControl}">
                <TabItem x:Name="InputItem">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="32" />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="16" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="16" />
                        </Grid.ColumnDefinitions>
                        <cus:TextBoxEx
                            x:Name="InPutTextBox"
                            Grid.Column="1"
                            Height="182"
                            HorizontalContentAlignment="Center"
                            VerticalContentAlignment="Center"
                            Background="{StaticResource color.sys.layout.mg}"
                            FontFamily="{Binding ElementName=TextComBox, Path=SelectedValue, TargetNullValue=Segoe UI}"
                            FontSize="20"
                            Foreground="{Binding RadioButtonIndex, Converter={StaticResource IntToColorBrush}}"
                            PlaceholderText="Input"
                            ShowClose="False"
                            Text="{Binding InputText, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
                            TextChanged="TextBoxEx_TextChanged" />
                        <Button
                            x:Name="BtnTextClear"
                            Grid.Column="1"
                            Width="43"
                            Height="24"
                            Margin="0,0,8,24"
                            HorizontalAlignment="Right"
                            VerticalAlignment="Bottom"
                            Command="{Binding ClearTextCommnad}"
                            Style="{StaticResource btn.sec}"
                            Visibility="{Binding ShowTextButton}" />
                        <ComboBox
                            x:Name="TextComBox"
                            Grid.Row="1"
                            Grid.Column="1"
                            Width="200"
                            HorizontalAlignment="Left"
                            VerticalContentAlignment="Center"
                            ItemsSource="{Binding FontNameList}"
                            SelectedIndex="{Binding FontNameIndex, Mode=TwoWay}" />
                        <StackPanel
                            Grid.Row="1"
                            Grid.Column="1"
                            HorizontalAlignment="Right"
                            VerticalAlignment="Center"
                            Orientation="Horizontal">
                            <cus:PathRadioButton
                                Checked="TextRadioButton_Checked"
                                CornerRadius="4"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="1">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#252629" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="1" />
                                        <Binding Path="RadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                            <cus:PathRadioButton
                                Margin="11,0"
                                Checked="TextRadioButton_Checked"
                                CornerRadius="4"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="2">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#F3465B" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="2" />
                                        <Binding Path="RadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                            <cus:PathRadioButton
                                Checked="TextRadioButton_Checked"
                                CornerRadius="4"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="3">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#273C62" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="3" />
                                        <Binding Path="RadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                            <cus:PathRadioButton
                                Margin="11,0,0,0"
                                Checked="TextRadioButton_Checked"
                                CornerRadius="4"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="4">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#94989C" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="4" />
                                        <Binding Path="RadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                        </StackPanel>
                    </Grid>
                </TabItem>
                <TabItem x:Name="DrawItem">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="32" />
                        </Grid.RowDefinitions>

                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="16" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="16" />
                        </Grid.ColumnDefinitions>
                        <Border
                            Grid.Column="1"
                            Height="182"
                            BorderBrush="{StaticResource color.field.border.norm}"
                            BorderThickness="1"
                            CornerRadius="4">
                            <Grid>
                                <InkCanvas
                                    x:Name="inkCanvas"
                                    Background="{StaticResource color.sys.layout.mg}"
                                    DefaultDrawingAttributes="{Binding DrawingAttributeObject}"
                                    PreviewMouseLeftButtonDown="inkCanvas_MouseLeftButtonDown"
                                    PreviewMouseLeftButtonUp="inkCanvas_MouseLeftButtonUp"
                                    Strokes="{Binding StrokesObject}" />

                                <Grid
                                    x:Name="PlanGrid"
                                    Background="{StaticResource color.sys.layout.mg}"
                                    IsHitTestVisible="False"
                                    Opacity="0.7">
                                    <Grid.Visibility>
                                        <MultiBinding Converter="{StaticResource ListCountAndBoolToVisible}" Mode="OneWay">
                                            <Binding Path="StrokesObject.Count" />
                                            <Binding Path="IsMouseDown" />
                                        </MultiBinding>
                                    </Grid.Visibility>
                                    <TextBlock
                                        x:Name="DrawHint"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center" />
                                </Grid>
                                <Button
                                    x:Name="BtnDrawClear"
                                    Width="43"
                                    Height="24"
                                    Margin="0,0,8,8"
                                    HorizontalAlignment="Right"
                                    VerticalAlignment="Bottom"
                                    Command="{Binding ClearInkCanvasCommnad}"
                                    Style="{StaticResource btn.sec}"
                                    Visibility="{Binding ElementName=PlanGrid, Path=Visibility, Converter={StaticResource UnVisivleConvert}}" />
                            </Grid>
                        </Border>
                        <ComboBox
                            Grid.Row="1"
                            Grid.Column="1"
                            Width="80"
                            HorizontalAlignment="Left"
                            VerticalContentAlignment="Center"
                            ItemsSource="{Binding ThicknessList}"
                            SelectedIndex="{Binding ThicknessListIndex, Mode=TwoWay}" />
                        <StackPanel
                            Grid.Row="1"
                            Grid.Column="1"
                            HorizontalAlignment="Right"
                            VerticalAlignment="Center"
                            Orientation="Horizontal">
                            <cus:PathRadioButton
                                Checked="ImageRadioButton_Checked"
                                      CornerRadius="4"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="1">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#252629" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="1" />
                                        <Binding Path="ImageRadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                            <cus:PathRadioButton
                                Margin="11,0"
                                CornerRadius="4"
                                Checked="ImageRadioButton_Checked"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="2">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#FC1F1F" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="2" />
                                        <Binding Path="ImageRadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                            <cus:PathRadioButton
                                CornerRadius="4"
                                Checked="ImageRadioButton_Checked"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="3">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#273C62" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="3" />
                                        <Binding Path="ImageRadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                            <cus:PathRadioButton
                                Margin="11,0,0,0"
                                CornerRadius="4"
                                Checked="ImageRadioButton_Checked"
                                MouseDownBackground="#CED0D4"
                                MouseDownBackgroundOpacity="0.6"
                                MouseOverBackground="#EDEEF0"
                                Tag="4">
                                <cus:PathRadioButton.Content>
                                    <Grid Width="32" Height="32">
                                        <Ellipse
                                            Width="20"
                                            Height="20"
                                            Fill="#94989C" />
                                    </Grid>
                                </cus:PathRadioButton.Content>
                                <i:Interaction.Triggers>
                                    <i:EventTrigger EventName="Checked">
                                        <i:InvokeCommandAction
                                            Command="{Binding CheckedCommnad}"
                                            CommandParameter="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=RadioButton}, Path=Tag}"
                                            PassEventArgsToCommand="True" />
                                    </i:EventTrigger>
                                </i:Interaction.Triggers>
                                <RadioButton.IsChecked>
                                    <MultiBinding Converter="{StaticResource IntAndTagToBoolMultiBinding}" Mode="OneWay">
                                        <Binding Source="4" />
                                        <Binding Path="ImageRadioButtonIndex" />
                                    </MultiBinding>
                                </RadioButton.IsChecked>
                            </cus:PathRadioButton>
                        </StackPanel>
                    </Grid>
                </TabItem>
                <TabItem x:Name="PictureItem">
                    <Grid>
                        <Grid.RowDefinitions>
                            <RowDefinition Height="*" />
                            <RowDefinition Height="32" />
                        </Grid.RowDefinitions>

                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="16" />
                            <ColumnDefinition Width="*" />
                            <ColumnDefinition Width="16" />
                        </Grid.ColumnDefinitions>
                        <Border
                            Grid.Column="1"
                            Height="182"
                            BorderBrush="{StaticResource color.field.border.norm}"
                            BorderThickness="1"
                            CornerRadius="4">
                            <Grid Background="{StaticResource color.sys.layout.mg}">
                                <StackPanel
                                    x:Name="AddStackPanel"
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Center"
                                    Visibility="{Binding ShowImageButton}">
                                    <cus:ImageButton
                                        Width="128"
                                        Height="128"
                                        Command="{Binding OpenImageCommnad}"
                                        Icon="pack://application:,,,/PDF Master;component/Resources/Dialog/AddImage.png"
                                        IconHeight="128"
                                        IconMouseOver="pack://application:,,,/PDF Master;component/Resources/Dialog/AddImageSuspend.png"
                                        IconPress="pack://application:,,,/PDF Master;component/Resources/Dialog/AddImageSuspend.png"
                                        IconWidth="128" />
                                    <TextBlock
                                        x:Name="ImageHint"
                                        HorizontalAlignment="Center"
                                        VerticalAlignment="Center"
                                        FontFamily="Segoe UI"
                                        FontSize="14"
                                        FontWeight="Regular"
                                        Foreground="{StaticResource color.sys.text.neutral.lv3}" />
                                </StackPanel>
                                <Grid Visibility="{Binding ElementName=AddStackPanel, Path=Visibility, Converter={StaticResource UnVisivleConvert}}">
                                    <Grid.RowDefinitions>
                                        <RowDefinition Height="24" />
                                        <RowDefinition Height="*" />
                                    </Grid.RowDefinitions>
                                    <Image
                                        Grid.RowSpan="2"
                                        Width="200"
                                        Height="200"
                                        Source="{Binding ImagePreviewSource}" />
                                    <Button
                                        x:Name="BtnPictureReselect"
                                        Grid.Row="1"
                                        Width="60"
                                        Height="24"
                                        Margin="0,0,8,8"
                                        HorizontalAlignment="Right"
                                        VerticalAlignment="Bottom"
                                        Command="{Binding OpenImageCommnad}"
                                        Style="{StaticResource btn.sec}" />
                                </Grid>
                            </Grid>
                        </Border>
                        <StackPanel
                            Grid.Row="1"
                            Grid.Column="1"
                            HorizontalAlignment="Center"
                            Orientation="Horizontal">
                            <CheckBox
                                Width="20"
                                Height="20"
                                IsChecked="{Binding IsRemoveBackground}" />
                            <TextBlock
                                x:Name="BtnReBkg"
                                HorizontalAlignment="Center"
                                VerticalAlignment="Center"
                                FontFamily="Segoe UI"
                                FontSize="14" />
                            <cus:ImageButton
                                Width="16"
                                Height="16"
                                Margin="8,0,0,0"
                                Icon="pack://application:,,,/PDF Master;component/Resources/Dialog/help.png"
                                IconHeight="16"
                                IconMouseOver="pack://application:,,,/PDF Master;component/Resources/Dialog/helphover.png"
                                IconPress="pack://application:,,,/PDF Master;component/Resources/Dialog/help.png"
                                IconWidth="16">
                                <cus:ImageButton.ToolTip>
                                    <ToolTip
                                        x:Name="BtnReBkgHint"
                                        Placement="Bottom"
                                        Style="{StaticResource TriangleToolTipStyle}">
                                        <ToolTip.HorizontalOffset>
                                            <MultiBinding Converter="{StaticResource CenterToolTipConverter}">
                                                <Binding Path="PlacementTarget.ActualWidth" RelativeSource="{RelativeSource Self}" />
                                                <Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}" />
                                            </MultiBinding>
                                        </ToolTip.HorizontalOffset>
                                    </ToolTip>
                                </cus:ImageButton.ToolTip>
                            </cus:ImageButton>
                        </StackPanel>
                    </Grid>
                </TabItem>
            </TabControl>
        </cus:DialogContent.Content>

        <cus:DialogContent.BottmBar>
            <StackPanel HorizontalAlignment="Right" Orientation="Horizontal">
                <Button
                    x:Name="BtnOK"
                    Grid.Column="0"
                    Width="80"
                    Height="32"
                    HorizontalAlignment="Right"
                    Command="{Binding CreateCommnad}"
                    Style="{StaticResource Btn.cta}">
                    <Button.IsEnabled>
                        <MultiBinding Converter="{StaticResource SignatureButtonConvert}" Mode="OneWay">
                            <Binding Path="TabItemIndex" />
                            <Binding Path="InputText" />
                            <Binding Path="StrokesObject.Count" />
                            <Binding Path="ImagePreviewSource" />
                        </MultiBinding>
                    </Button.IsEnabled>
                </Button>
                <Button
                    x:Name="BtnNo"
                    Grid.Column="2"
                    Width="80"
                    Height="32"
                    Margin="16,0,16,0"
                    HorizontalAlignment="Left"
                    Command="{Binding CancelCommand}"
                    Style="{StaticResource btn.sec}" />
            </StackPanel>
        </cus:DialogContent.BottmBar>
    </cus:DialogContent>
</UserControl>