<UserControl x:Class="PDF_Office.Views.PropertyPanel.AnnotPanel.TextAnnotProperty"
             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:PDF_Office.Views.PropertyPanel.AnnotPanel"
              xmlns:CompositeControl="clr-namespace:PDF_Office.CustomControl.CompositeControl"
             xmlns:cus="clr-namespace:PDF_Office.CustomControl"
             xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
             xmlns:prism="http://prismlibrary.com/"             
             prism:ViewModelLocator.AutoWireViewModel="True"
             xmlns:AnnotPanel="clr-namespace:PDF_Office.ViewModels.PropertyPanel.AnnotPanel"
             d:DataContext="{d:DesignInstance Type=AnnotPanel:TextAnnotPropertyViewModel}"
             xmlns:Convert="clr-namespace:PDF_Office.ViewModels.PropertyPanel.AnnotPanel"
             xmlns:mainpage="clr-namespace:PDF_Office.Strings.MainPage"
             xmlns:dataconvert="clr-namespace:PDF_Office.DataConvert"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="../../../Styles/SliderStyle.xaml"></ResourceDictionary>
            </ResourceDictionary.MergedDictionaries>
            <Convert:AnnotArgsTypeConverter x:Key="AnnotArgsTypeConverter"/>
            <dataconvert:InvertBoolToVisibleConvert x:Key="InvertBoolToVisibleConvert"/>
        </ResourceDictionary>
      
    </UserControl.Resources>
    <Grid  VerticalAlignment="Stretch" Background="#F3F3F3">
        <StackPanel Margin="16 0 16 0">
            <TextBlock Name="AnnotTypeTitle" FontFamily="Segoe UI" FontWeight="Bold" FontSize="18" LineHeight="24" HorizontalAlignment="Left" Margin="0,16,0,8"
                       Text="{Binding BasicVm.AnnotTypeTitle,Mode=OneWay}"
                       ></TextBlock>
            
            <Border Width="228" Height="100" BorderThickness="1" CornerRadius="2" BorderBrush="#DDDDDD" Background="White" Margin="0,8,0,0"
                     Visibility="{Binding BasicVm.IsMultiSelected,Converter={StaticResource InvertBoolToVisibleConvert}}"
                    >
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*"/>
                        <ColumnDefinition Width="Auto"/>
                        <ColumnDefinition Width="*"/>
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                    </Grid.RowDefinitions>
                    <Rectangle Grid.Row="1" Grid.Column="1"  VerticalAlignment="Stretch" HorizontalAlignment="Stretch" 
                               Opacity="{Binding BasicVm.FillOpacity}"
                               Fill="{Binding BasicVm.FontColor}" Visibility="{Binding BasicVm.AnnotType,Converter={StaticResource AnnotArgsTypeConverter},ConverterParameter=AnnotHighlight}" />
                  
                    <Rectangle Grid.Row="1" Grid.Column="1" Height="2" StrokeThickness="2" HorizontalAlignment="Stretch"
                               Opacity="{Binding BasicVm.FillOpacity}"
                               Stroke="{Binding BasicVm.FontColor}" Visibility="{Binding BasicVm.AnnotType,Converter={StaticResource AnnotArgsTypeConverter},ConverterParameter=AnnotStrikeout}"/>
                    
                    <Rectangle Grid.Row="1" Grid.Column="1" VerticalAlignment="Bottom"  Height="2" StrokeThickness="2" HorizontalAlignment="Stretch" 
                               Opacity="{Binding BasicVm.FillOpacity}"
                               Stroke="{Binding BasicVm.FontColor}" Visibility="{Binding BasicVm.AnnotType,Converter={StaticResource AnnotArgsTypeConverter},ConverterParameter=AnnotUnderline}" />

                    <TextBlock Name="SampleText" Padding="4,2,4,2" Grid.Row="1" Grid.Column="1" Text="{x:Static mainpage:MainPage.Sample}" HorizontalAlignment="Center" VerticalAlignment="Center" FontWeight="Bold" FontFamily="Segoe UI" FontSize="18" >
                    </TextBlock>
                </Grid>
            </Border>

            <Grid Margin="0,18,0,0">
                <Grid.RowDefinitions>
                    <RowDefinition Height="auto"/>
                    <RowDefinition/>
                </Grid.RowDefinitions>
                <CompositeControl:SlidContent x:Name="SlidOpacity" Margin="0,0,5,0" HorizontalAlignment="Right" 
                                              InitValue="{Binding BasicVm.FillOpacity,Mode=OneWay}"
                                              Visibility="{Binding BasicVm.IsMultiSelected,Converter={StaticResource InvertBoolToVisibleConvert}}">
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="SelectedValueChanged">
                            <i:InvokeCommandAction Command="{Binding SelectedOpacityChangedCommand}" CommandParameter="{Binding ElementName=SlidOpacity,Path=Value}"/>
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </CompositeControl:SlidContent>
                <TextBlock Text="Color"  Foreground="{StaticResource color.sys.text.neutral.lv2}" FontSize="12" FontFamily="Segoe UI" HorizontalAlignment="Left"/>
               
                <CompositeControl:ColorContent Grid.Row="1" x:Name="cusColor" Margin="0,8,0,0"
                                               ItemSource="{Binding BasicVm.ColorItems}"
                                               ColorType="{Binding ColorType}"
                                               UIColor="{Binding BasicVm.CurrentFontColor,Mode=OneWay}" >
                    <i:Interaction.Triggers>
                        <i:EventTrigger EventName="SelectedColorInvoke">
                            <i:InvokeCommandAction Command="{Binding SelectedColorChangedCommand}" CommandParameter="{Binding ElementName=cusColor,Path=SelectedColor}"/>
                        </i:EventTrigger>
                    </i:Interaction.Triggers>
                </CompositeControl:ColorContent>
            </Grid>
            
        </StackPanel>
    </Grid>
</UserControl>