<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>