Prechádzať zdrojové kódy

UI-调整询问弹窗UI

ZhouJieSheng 1 rok pred
rodič
commit
76cb50e35a

+ 68 - 44
PDF Office/CustomControl/AlertsMessage.xaml

@@ -27,14 +27,29 @@
                 <RowDefinition Height="auto " />
             </Grid.RowDefinitions>
             <StackPanel VerticalAlignment="Center">
-                <TextBlock
-                    x:Name="TitleText"
+                <StackPanel
                     Margin="0,16,0,0"
-                    FontSize="16"
-                    FontWeight="SemiBold"
-                    Foreground="{StaticResource color.sys.text.neutral.lv1}"
-                    Text="Make sure to delete the selected material?"
-                    TextWrapping="Wrap" />
+                    VerticalAlignment="Center"
+                    Orientation="Horizontal">
+                    <Grid
+                        Name="GridIcon"
+                        Width="24"
+                        Height="24"
+                        Margin="0,0,8,0"
+                        Visibility="Collapsed">
+                        <Image
+                            x:Name="ImgTips"
+                            Source="pack://application:,,,/Resources/Dialog/Tips.png"
+                            Visibility="Collapsed" />
+                    </Grid>
+                    <TextBlock
+                        x:Name="TitleText"
+                        FontSize="16"
+                        FontWeight="SemiBold"
+                        Foreground="{StaticResource color.sys.text.neutral.lv1}"
+                        Text="Make sure to delete the selected material?"
+                        TextWrapping="Wrap" />
+                </StackPanel>
                 <TextBlock
                     x:Name="ContentText"
                     Margin="0,16"
@@ -48,49 +63,58 @@
                 x:Name="BtnGrid"
                 Grid.Row="1"
                 Height="64">
-                <Grid.ColumnDefinitions>
-                    <ColumnDefinition />
-                    <ColumnDefinition />
-                    <ColumnDefinition />
-                </Grid.ColumnDefinitions>
                 <CheckBox
                     x:Name="ChbDonotAskAgain"
                     Checked="ChbDonotAskAgain_Checked"
                     Content="Don't ask again"
                     Unchecked="ChbDonotAskAgain_Unchecked"
                     Visibility="Collapsed" />
-                <Button
-                    x:Name="CancelBtn"
-                    Grid.Column="2"
-                    Height="28"
-                    Margin="0,0,0,0"
-                    Click="CancelBtn_Click"
-                    Content="Cancel"
-                    FontSize="14"
-                    FontWeight="SemiBold"
-                    IsCancel="True"
-                    Style="{StaticResource btn.sec}" />
-                <Button
-                    x:Name="MiddleCancelBtn"
-                    Grid.Column="1"
-                    Height="28"
-                    Margin="8,0,8,0"
-                    Click="MiddleCancelBtn_Click"
-                    Content="Do not Save"
-                    FontSize="14"
-                    FontWeight="SemiBold"
-                    Style="{StaticResource btn.sec}" />
-                <Button
-                    x:Name="OkBtn"
-                    Grid.Column="0"
-                    Height="28"
-                    Margin="8,0,0,0"
-                    Click="OkBtn_Click"
-                    Content="Save"
-                    FontSize="14"
-                    FontWeight="SemiBold"
-                    IsDefault="True"
-                    Style="{StaticResource Btn.cta}" />
+                <StackPanel
+                    Margin="0,0,-4,0"
+                    HorizontalAlignment="Right"
+                    Orientation="Horizontal">
+                    <Button
+                        x:Name="OkBtn"
+                        Grid.Column="0"
+                        Height="28"
+                        MinWidth="80"
+                        Margin="4,0"
+                        Padding="8,0"
+                        HorizontalAlignment="Center"
+                        Click="OkBtn_Click"
+                        Content="Save"
+                        FontSize="14"
+                        FontWeight="SemiBold"
+                        IsDefault="True"
+                        Style="{StaticResource Btn.cta}" />
+                    <Button
+                        x:Name="MiddleCancelBtn"
+                        Grid.Column="1"
+                        Height="28"
+                        MinWidth="80"
+                        Margin="4,0"
+                        Padding="8,0"
+                        HorizontalAlignment="Center"
+                        Click="MiddleCancelBtn_Click"
+                        Content="Do not Save"
+                        FontSize="14"
+                        FontWeight="SemiBold"
+                        Style="{StaticResource btn.sec}" />
+                    <Button
+                        x:Name="CancelBtn"
+                        Grid.Column="2"
+                        Height="28"
+                        MinWidth="80"
+                        Margin="4,0"
+                        Padding="8,0"
+                        HorizontalAlignment="Center"
+                        Click="CancelBtn_Click"
+                        Content="Cancel"
+                        FontSize="14"
+                        FontWeight="SemiBold"
+                        IsCancel="True"
+                        Style="{StaticResource btn.sec}" />
+                </StackPanel>
             </Grid>
         </Grid>
 

+ 35 - 92
PDF Office/CustomControl/AlertsMessage.xaml.cs

@@ -21,6 +21,17 @@ namespace PDF_Master.CustomControl
         Ok
     }
 
+    /// <summary>
+    /// 图标类型
+    /// </summary>
+    public enum IconType
+    {
+        Tip,
+        Ask,
+        Error,
+        None
+    }
+
     /// <summary>
     /// AlertsMessage.xaml 的交互逻辑
     /// 因为是纯UI的逻辑显示,所以没有再创建VM
@@ -56,22 +67,6 @@ namespace PDF_Master.CustomControl
             ChbDonotAskAgain.Visibility = Visibility.Visible;
             Width = 408;
 
-            Grid.SetColumn(MiddleCancelBtn, 2);
-            Grid.SetColumn(OkBtn, 1);
-            Grid.SetColumn(ChbDonotAskAgain, 0);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            var column0 = new ColumnDefinition();
-
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            column0.Width = new GridLength(2, GridUnitType.Star);
-
-            BtnGrid.ColumnDefinitions.Add(column0);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
 
             if (ownerWindow != null)
             {
@@ -93,18 +88,6 @@ namespace PDF_Master.CustomControl
             OkBtn.Content = okBtn;
             Width = 408;
 
-            Grid.SetColumn(OkBtn, 3);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            var column3 = new ColumnDefinition();
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            column3.Width = new GridLength(1, GridUnitType.Star);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
-            BtnGrid.ColumnDefinitions.Add(column3);
 
             this.Show();
         }
@@ -121,17 +104,6 @@ namespace PDF_Master.CustomControl
             OkBtn.Content = okBtn;
             Width = 408;
 
-            Grid.SetColumn(MiddleCancelBtn, 1);
-            Grid.SetColumn(OkBtn, 0);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
-
             this.Show();
         }
 
@@ -147,21 +119,6 @@ namespace PDF_Master.CustomControl
             MiddleCancelBtn.Content = cancelBtn2;
             OkBtn.Content = okBtn;
 
-            Grid.SetColumn(CancelBtn, 2);
-            Grid.SetColumn(MiddleCancelBtn, 1);
-            Grid.SetColumn(OkBtn, 0);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            var column3 = new ColumnDefinition();
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            column3.Width = new GridLength(1, GridUnitType.Star);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
-            BtnGrid.ColumnDefinitions.Add(column3);
-
             this.Show();
         }
 
@@ -175,19 +132,6 @@ namespace PDF_Master.CustomControl
             OkBtn.Content = okBtn;
             Width = 408;
 
-            Grid.SetColumn(OkBtn, 3);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            var column3 = new ColumnDefinition();
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            column3.Width = new GridLength(1, GridUnitType.Star);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
-            BtnGrid.ColumnDefinitions.Add(column3);
-
             if (ownerWindow != null)
             {
                 Owner = ownerWindow;
@@ -196,7 +140,7 @@ namespace PDF_Master.CustomControl
             }
         }
 
-        public void ShowDialog(string title, string content, string cancelBtn, string okBtn)
+        public void ShowDialog(string title, string content, string cancelBtn, string okBtn,IconType type = IconType.None)
         {
             TitleText.Text = title;
             ContentText.Text = content;
@@ -205,16 +149,7 @@ namespace PDF_Master.CustomControl
             OkBtn.Content = okBtn;
             Width = 408;
 
-            Grid.SetColumn(MiddleCancelBtn, 1);
-            Grid.SetColumn(OkBtn, 0);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
+            ShowIcon(type);
 
             if (ownerWindow != null)
             {
@@ -235,20 +170,6 @@ namespace PDF_Master.CustomControl
             MiddleCancelBtn.Content = cancelBtn2;
             OkBtn.Content = okBtn;
 
-            Grid.SetColumn(CancelBtn, 2);
-            Grid.SetColumn(MiddleCancelBtn, 1);
-            Grid.SetColumn(OkBtn, 0);
-
-            BtnGrid.ColumnDefinitions.Clear();
-            var column = new ColumnDefinition();
-            var column2 = new ColumnDefinition();
-            var column3 = new ColumnDefinition();
-            column.Width = new GridLength(1, GridUnitType.Star);
-            column2.Width = new GridLength(1, GridUnitType.Star);
-            column3.Width = new GridLength(1, GridUnitType.Star);
-            BtnGrid.ColumnDefinitions.Add(column);
-            BtnGrid.ColumnDefinitions.Add(column2);
-            BtnGrid.ColumnDefinitions.Add(column3);
 
             if (ownerWindow != null)
             {
@@ -258,6 +179,28 @@ namespace PDF_Master.CustomControl
             }
         }
 
+        private void ShowIcon(IconType type)
+        {
+            //先隐藏所有图标
+            ImgTips.Visibility = Visibility.Collapsed;
+
+            switch (type)
+            {
+                case IconType.Tip:
+                    GridIcon.Visibility = Visibility.Visible;
+                    ImgTips.Visibility = Visibility.Visible;
+                    break;
+                case IconType.Ask:
+                    break;
+                case IconType.Error:
+                    break;
+                case IconType.None:
+                default:
+                    GridIcon.Visibility = Visibility.Collapsed;
+                    break;
+            }
+        }
+
 
         private void CancelBtn_Click(object sender, RoutedEventArgs e)
         {

+ 1 - 0
PDF Office/PDF Master.csproj

@@ -2229,6 +2229,7 @@
     <Content Include="ComDocumentAIKit.dll">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <Resource Include="Resources\Dialog\tips.png" />
     <Content Include="Resources\GuidPDF\Quick Start Guide.pdf">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>

+ 2 - 0
PDF Office/Styles/ButtonStyle.xaml

@@ -467,9 +467,11 @@
             </Trigger>
             <Trigger Property="IsMouseOver" Value="true">
                 <Setter Property="Background" Value="{StaticResource color.btn.sec.bg.hov}" />
+                <Setter Property="BorderBrush" Value="{StaticResource color.btn.sec.border-color}" />
             </Trigger>
             <Trigger Property="IsPressed" Value="true">
                 <Setter Property="Background" Value="{StaticResource color.btn.sec.bg.act}" />
+                <Setter Property="BorderBrush" Value="{StaticResource color.btn.sec.border-color}" />
             </Trigger>
             <Trigger Property="IsEnabled" Value="false">
                 <Setter Property="Background" Value="{StaticResource color.btn.sec.bg.dis}" />

+ 1 - 1
PDF Office/ViewModels/Dialog/ServiceDialog/UserDialogViewModel.cs

@@ -186,7 +186,7 @@ namespace PDF_Master.ViewModels.Dialog.ServiceDialog
         public void UserOut()
         {
             AlertsMessage alertsMessage = new AlertsMessage();
-            alertsMessage.ShowDialog(Text_userouttol, Text_useroutmsg, "Cancel", "Yes");
+            alertsMessage.ShowDialog(Text_userouttol, Text_useroutmsg, "Cancel", "Yes",IconType.Tip);
 
             if (alertsMessage.result == ContentResult.Ok)
             {

+ 8 - 0
PDF Office/ViewModels/HomeContentViewModel.cs

@@ -159,6 +159,14 @@ namespace PDF_Master.ViewModels
             }
 
             IsLoading = Visibility.Visible;
+            //排除文件夹或其他类型文件
+            if (!System.IO.File.Exists(files[0]))
+            {
+                AlertsMessage alertsMessage = new AlertsMessage();
+                alertsMessage.ShowDialog("", "Unsupported file format", "OK");
+                IsLoading = Visibility.Collapsed;
+                return;
+            }
             //先在当前页签打开第一个文档
             var type = System.IO.Path.GetExtension(files[0]).ToLower();
             if (image.Contains(type))

+ 4 - 4
PDF Office/Views/PageEdit/PageEditContent.xaml.cs

@@ -138,7 +138,7 @@ namespace PDF_Master.Views.PageEdit
         private void Timer_Tick(object sender, EventArgs e)
         {
             PulishEvent();
-            timer.Stop();
+            timer?.Stop();
         }
 
         private void OneNotifyEvent(PageEditNotifyEventArgs e)
@@ -206,7 +206,7 @@ namespace PDF_Master.Views.PageEdit
             else
             {
                 if (e.VerticalChange != 0)
-                    timer.Start();//暂时找不到比较好的 判断Scroller停止的方法,先用计时器粗略判断
+                    timer?.Start();//暂时找不到比较好的 判断Scroller停止的方法,先用计时器粗略判断
             }
         }
 
@@ -220,7 +220,7 @@ namespace PDF_Master.Views.PageEdit
             scrolltype = e.ScrollEventType;
             if (scrolltype != System.Windows.Controls.Primitives.ScrollEventType.EndScroll)
             {
-                timer.Stop();
+                timer?.Stop();
                 return;
             }
             PulishEvent();
@@ -1019,7 +1019,7 @@ namespace PDF_Master.Views.PageEdit
         private void PageEdit_Unloaded(object sender, RoutedEventArgs e)
         {
             //释放定时器 避免内存泄露
-            timer.Stop();
+            timer?.Stop();
             timer.Tick -= Timer_Tick;
             timer = null;
         }