Browse Source

compdfkit(win) - 水印列表

liuaoran 1 year ago
parent
commit
ea23d748d2

+ 28 - 0
Demo/Examples/Compdfkit_Tools/Common/Convert/HeightToTopMarginConverter.cs

@@ -0,0 +1,28 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Data;
+
+namespace Compdfkit_Tools.Common
+{
+    public class HeightToTopMarginConverter : IValueConverter
+    {
+        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+        {
+            if (value is double height)
+            {
+                return new Thickness(0, height + 3, 0, 0);
+            }
+            return new Thickness(0);
+        }
+
+        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+        {
+            throw new NotSupportedException();
+        }
+    }
+}

+ 28 - 0
Demo/Examples/Compdfkit_Tools/Common/Convert/HomePageHeightConverter.cs

@@ -0,0 +1,28 @@
+using System;
+using System.Globalization;
+using System.Linq;
+using System.Windows;
+using System.Windows.Data;
+
+namespace Compdfkit_Tools.Common
+{
+    public class HomePageHeightConverter : IMultiValueConverter
+    {
+        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
+        {
+            if (values[0] == null || values[1] == null)
+            {
+                return false;
+            }
+            else
+            {
+                return (double)values[0] - (double)values[1];
+            }
+        }
+
+        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
+        {
+            return null;
+        }
+    }
+}

+ 0 - 1
Demo/Examples/Compdfkit_Tools/Common/PasswordControl/PasswordWindow.xaml.cs

@@ -87,7 +87,6 @@ namespace Compdfkit_Tools.Common
                         PasswordDialog.SetShowError("Wrong Password", Visibility.Visible);
                     }
                 }
-
             }
         }
 

+ 5 - 3
Demo/Examples/Compdfkit_Tools/Compdfkit_Tools.csproj

@@ -125,6 +125,8 @@
     <Compile Include="Common\BaseControl\PageNumberControl.xaml.cs">
       <DependentUpon>PageNumberControl.xaml</DependentUpon>
     </Compile>
+    <Compile Include="Common\Convert\HeightToTopMarginConverter.cs" />
+    <Compile Include="Common\Convert\HomePageHeightConverter.cs" />
     <Compile Include="Common\Convert\AndMultiBoolValueConverter.cs" />
     <Compile Include="Common\Convert\AnnotArgsTypeToVisibilityConverter.cs" />
     <Compile Include="Common\Convert\AntiBoolToVisibilityConverter.cs" />
@@ -469,8 +471,8 @@
     <Compile Include="Security\Watermark\FileGridListWithPageRangeControl.xaml.cs">
       <DependentUpon>FileGridListWithPageRangeControl.xaml</DependentUpon>
     </Compile>
-    <Compile Include="Security\Watermark\WatermarkListControl.xaml.cs">
-      <DependentUpon>WatermarkListControl.xaml</DependentUpon>
+    <Compile Include="Security\Watermark\WatermarkListDialog.xaml.cs">
+      <DependentUpon>WatermarkListDialog.xaml</DependentUpon>
     </Compile>
     <Compile Include="Security\Watermark\WatermarkOperationTypeDialog.xaml.cs">
       <DependentUpon>WatermarkOperationTypeDialog.xaml</DependentUpon>
@@ -1004,7 +1006,7 @@
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>
-    <Page Include="Security\Watermark\WatermarkListControl.xaml">
+    <Page Include="Security\Watermark\WatermarkListDialog.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>
     </Page>

+ 1 - 1
Demo/Examples/Compdfkit_Tools/Security/Watermark/FileGridListWithPageRangeControl.xaml

@@ -5,7 +5,7 @@
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:local="clr-namespace:Compdfkit_Tools.PDFControl"
              mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800">
+             d:DesignHeight="450" d:DesignWidth="500">
     <UserControl.Resources>
         <ResourceDictionary>
             <Style x:Key="CustomDataGridStyle" TargetType="DataGrid">

+ 1 - 1
Demo/Examples/Compdfkit_Tools/Security/Watermark/FileGridListWithPageRangeControl.xaml.cs

@@ -28,7 +28,7 @@ namespace Compdfkit_Tools.PDFControl
     public partial class FileGridListWithPageRangeControl : UserControl, INotifyPropertyChanged
     {
         public static readonly DependencyProperty IsEnsureProperty =
-    DependencyProperty.Register(nameof(IsEnsure), typeof(bool), typeof(FileGridListControl), new PropertyMetadata(false));
+    DependencyProperty.Register(nameof(IsEnsure), typeof(bool), typeof(FileGridListWithPageRangeControl), new PropertyMetadata(false));
 
 
         public bool IsEnsure

+ 0 - 12
Demo/Examples/Compdfkit_Tools/Security/Watermark/WatermarkListControl.xaml

@@ -1,12 +0,0 @@
-<UserControl x:Class="Compdfkit_Tools.Security.Watermark.WatermarkListControl"
-             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:Compdfkit_Tools.Security.Watermark"
-             mc:Ignorable="d" 
-             d:DesignHeight="450" d:DesignWidth="800">
-    <Grid>
-            
-    </Grid>
-</UserControl>

+ 23 - 0
Demo/Examples/Compdfkit_Tools/Security/Watermark/WatermarkListDialog.xaml

@@ -0,0 +1,23 @@
+<Window x:Class="Compdfkit_Tools.PDFControl.WatermarkListDialog"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Compdfkit_Tools.PDFControl"
+        mc:Ignorable="d"
+        Title="WatermarkListDialog" 
+        Height="522" Width="516">
+    <Grid>
+        <Grid.RowDefinitions>
+            <RowDefinition></RowDefinition>
+            <RowDefinition Height="auto"></RowDefinition>
+        </Grid.RowDefinitions>
+        <local:FileGridListWithPageRangeControl x:Name="FileGridListWithPageRangeControl"></local:FileGridListWithPageRangeControl>
+        <Grid Grid.Row="1">
+            <StackPanel Orientation="Horizontal" Margin="0,24,24,12" HorizontalAlignment="Right">
+                <Button x:Name="ApplyBtn" Content="Apply" Height="32" Width="112" IsEnabled="{Binding ElementName=FileGridListWithPageRangeControl, Path=IsEnsure}" Margin="0,0,8,0"></Button>
+                <Button x:Name="CancelBtn" Height="32" Content="Cancel" Width="112" ></Button>
+            </StackPanel>
+        </Grid>
+    </Grid>
+</Window>

+ 4 - 5
Demo/Examples/Compdfkit_Tools/Security/Watermark/WatermarkListControl.xaml.cs

@@ -10,17 +10,16 @@ using System.Windows.Documents;
 using System.Windows.Input;
 using System.Windows.Media;
 using System.Windows.Media.Imaging;
-using System.Windows.Navigation;
 using System.Windows.Shapes;
 
-namespace Compdfkit_Tools.Security.Watermark
+namespace Compdfkit_Tools.PDFControl
 {
     /// <summary>
-    /// Interaction logic for WatermarkListControl.xaml
+    /// Interaction logic for WatermarkListDialog.xaml
     /// </summary>
-    public partial class WatermarkListControl : UserControl
+    public partial class WatermarkListDialog : Window
     {
-        public WatermarkListControl()
+        public WatermarkListDialog()
         {
             InitializeComponent();
         }

+ 2 - 4
Demo/Examples/Compdfkit_Tools/Security/Watermark/WatermarkOperationTypeDialog.xaml.cs

@@ -13,6 +13,7 @@ namespace Compdfkit_Tools.PDFControl
 
         private void Confirm_Click(object sender, RoutedEventArgs e)
         {
+            WatermarkListDialog watermarkListDialog = new WatermarkListDialog(); 
             if (AddWatermarkRdo.IsChecked == true)
             {
                
@@ -21,10 +22,7 @@ namespace Compdfkit_Tools.PDFControl
             {
                 
             }
-            else
-            {
-                MessageBox.Show("Please select an operation type.");
-            }
+            OpenNewDialog(watermarkListDialog);
         }
 
         private void OpenNewDialog(Window newDialog)

+ 24 - 3
Demo/Examples/PDFViewer/MainWindow.xaml

@@ -8,6 +8,7 @@
         mc:Ignorable="d"
         SnapsToDevicePixels="True" 
         xmlns:cpdfcommon="clr-namespace:Compdfkit_Tools.Common;assembly=Compdfkit_Tools"
+        xmlns:cpdftools="clr-namespace:Compdfkit_Tools.PDFControl;assembly=Compdfkit_Tools"
         xmlns:dragablz="clr-namespace:Dragablz;assembly=Dragablz"
         BorderThickness="{Binding RelativeSource={RelativeSource Mode=Self},Path=WindowState,Converter={StaticResource WindowStateToThicknessConverter}}"
         Title="ComPDFKit V1.10.0" Height="720" Width="1080" >
@@ -28,7 +29,12 @@
     </WindowChrome.WindowChrome>
 
     <Window.Resources>
+        <cpdfcommon:HomePageHeightConverter x:Key="HomePageHeightConverter"></cpdfcommon:HomePageHeightConverter>
 
+        <cpdfcommon:HeightToTopMarginConverter x:Key="HeightToTopMarginConverter"></cpdfcommon:HeightToTopMarginConverter>
+
+        <cpdfcommon:BoolToVisibleConverter x:Key="BoolToVisibleConverter"></cpdfcommon:BoolToVisibleConverter>
+        
         <cpdfcommon:ShowDefaultCloseButtonConverter x:Key="ShowDefaultCloseButtonConverter"></cpdfcommon:ShowDefaultCloseButtonConverter>
 
         <cpdfcommon:ShowIconConverter x:Key="ShowIconConverter"></cpdfcommon:ShowIconConverter>
@@ -126,7 +132,7 @@
                                             <Path Data="M0 1.71429C0 0.767513 0.767512 0 1.71429 0H13.7143C14.6611 0 15.4286 0.767512 15.4286 1.71429V16.2857H1.71429C0.767512 16.2857 0 15.5182 0 14.5714V1.71429Z" Fill="#3863F1"/>
                                             <Path Data="M10.857 3.71387C7.3855 3.71387 4.57129 6.52808 4.57129 9.99958C4.57129 13.4711 7.3855 16.2853 10.857 16.2853H15.4284V3.71387H10.857ZM10.857 7.71384C9.59459 7.71384 8.57125 8.73719 8.57125 9.99955C8.57125 11.2619 9.5946 12.2853 10.857 12.2853H15.4284V7.71384H10.857Z" Fill="White"/>
                                             <Path Data="M18.2856 3.71387H15.4284L15.4284 7.71385H10.857C9.59465 7.71385 8.5713 8.7372 8.5713 9.99956C8.5713 11.2619 9.59465 12.2853 10.857 12.2853H15.4284L15.4284 16.2853L4.57129 16.2853V18.2853C4.57129 19.2321 5.3388 19.9996 6.28558 19.9996H18.2856C19.2324 19.9996 19.9999 19.2321 19.9999 18.2853V5.42815C19.9999 4.48138 19.2324 3.71387 18.2856 3.71387Z" Fill="#31BC98"/>
-                                        </Grid> 
+                                        </Grid>
                                     </Viewbox>
 
                                     <TextBlock  x:Name="TextTitle" Grid.Column="1" MaxWidth="145"  Margin="8,4,0,4" FontWeight="DemiBold" FontFamily="Segoe UI,Microsoft YaHei"  Text="{Binding FileName}"  TextTrimming="WordEllipsis" />
@@ -146,7 +152,7 @@
                                                 <Binding RelativeSource="{RelativeSource TemplatedParent}" Path="LogicalIndex" />
                                             </MultiBinding>
                                         </Button.Visibility>
-                                        
+
                                     </Button>
                                 </Grid>
                             </Border>
@@ -256,7 +262,9 @@
         <Grid Background="#273C62" Margin="0,-1,0,0">
             <dragablz:TabablzControl Name="TabControl" ItemContainerStyle="{StaticResource DragablzItemStyle}" WindowChrome.IsHitTestVisibleInChrome="True" FixedHeaderCount="1">
                 <dragablz:TabablzControl.HeaderPrefixContent>
-                    <Grid Margin="10,0,0,0"></Grid>
+                    <Grid Margin="10,0,0,0">
+                        <ToggleButton x:Name="HomePageTBtn" Style="{StaticResource HomePageButtonStyle}" Width="100" Click="Button_Click"></ToggleButton>
+                    </Grid>
                 </dragablz:TabablzControl.HeaderPrefixContent>
                 <dragablz:TabablzControl.InterTabController>
                     <dragablz:InterTabController />
@@ -303,6 +311,19 @@
                     </Grid>
                 </dragablz:TabablzControl.HeaderSuffixContent>
             </dragablz:TabablzControl>
+            <!-- 这是一个容器用于显示其他内容 -->
+            <ContentControl x:Name="customContentControl" Visibility="{}" >
+                <ContentControl.Margin>
+                    <Binding Path="ActualHeight" ElementName="TitleBarGrid" Converter="{StaticResource HeightToTopMarginConverter}" />
+                </ContentControl.Margin>
+                <ContentControl.Height>
+                    <MultiBinding Converter="{StaticResource HomePageHeightConverter}">
+                        <Binding ElementName="TabControl" Path="ActualHeight"></Binding>
+                        <Binding ElementName="TitleBarGrid" Path="ActualHeight"></Binding>
+                    </MultiBinding>
+                </ContentControl.Height>
+                <cpdftools:HomePageControl></cpdftools:HomePageControl>
+            </ContentControl>
         </Grid>
 
         <Border Name="PopupBorder" Background="#A0000000" Visibility="Collapsed">

+ 4 - 0
Demo/Examples/PDFViewer/MainWindow.xaml.cs

@@ -413,5 +413,9 @@ namespace PDFViewer
 
         }
 
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            TabControl.SelectedIndex = -1;
+        }
     }
 }