Browse Source

其他-补充AlertMessage消息弹窗

ZhouJieSheng 2 years ago
parent
commit
d5537dfd5e

+ 93 - 0
PDF Office/CustomControl/AlertsMessage.xaml

@@ -0,0 +1,93 @@
+<Window
+    x:Class="PDF_Office.CustomControl.AlertsMessage"
+    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:local="clr-namespace:PDF_Office.CustomControl"
+    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+    Width="470"
+    MinHeight="156"
+    AllowsTransparency="True"
+    Background="Transparent"
+    ResizeMode="NoResize"
+    ShowInTaskbar="False"
+    SizeToContent="Height"
+    WindowStartupLocation="CenterScreen"
+    WindowStyle="None"
+    mc:Ignorable="d">
+    <Border
+        Height="auto"
+        BorderThickness="1"
+        CornerRadius="6"
+        MouseLeftButtonDown="Border_PreviewMouseLeftButtonDown">
+        <Grid Margin="20,24,20,0">
+            <Grid.RowDefinitions>
+                <RowDefinition Height="auto" />
+                <RowDefinition />
+            </Grid.RowDefinitions>
+            <Grid.ColumnDefinitions>
+                <ColumnDefinition Width="Auto" />
+                <ColumnDefinition />
+            </Grid.ColumnDefinitions>
+            <StackPanel
+                Grid.Column="0"
+                Grid.ColumnSpan="2"
+                VerticalAlignment="Center">
+                <TextBlock
+                    x:Name="TitleText"
+                    FontSize="14"
+                    FontWeight="SemiBold"
+                    Text="Make sure to delete the selected material?"
+                    TextWrapping="Wrap" />
+                <TextBlock
+                    x:Name="ContentText"
+                    Margin="0,4,0,0"
+                    FontSize="12"
+                    Text="Make sure to delete the selected material?"
+                    TextWrapping="Wrap" />
+            </StackPanel>
+
+            <Grid
+                x:Name="BtnGrid"
+                Grid.Row="1"
+                Grid.ColumnSpan="2">
+                <Grid.ColumnDefinitions>
+                    <ColumnDefinition />
+                    <ColumnDefinition />
+                    <ColumnDefinition />
+                </Grid.ColumnDefinitions>
+                <Button
+                    x:Name="CancelBtn"
+                    Grid.Column="0"
+                    Height="28"
+                    Margin="0,0,0,0"
+                    BorderThickness="0"
+                    Click="CancelBtn_Click"
+                    Content="Cancel"
+                    FontSize="14"
+                    FontWeight="SemiBold" />
+                <Button
+                    x:Name="MiddleCancelBtn"
+                    Grid.Column="1"
+                    Height="28"
+                    Margin="8,0,0,0"
+                    BorderThickness="0"
+                    Click="MiddleCancelBtn_Click"
+                    Content="Do not Save"
+                    FontSize="14"
+                    FontWeight="SemiBold" />
+                <Button
+                    x:Name="OkBtn"
+                    Grid.Column="2"
+                    Height="28"
+                    Margin="8,0,0,0"
+                    BorderThickness="0"
+                    Click="OkBtn_Click"
+                    Content="Save"
+                    FontSize="14"
+                    FontWeight="SemiBold" />
+            </Grid>
+        </Grid>
+    </Border>
+
+</Window>

+ 241 - 0
PDF Office/CustomControl/AlertsMessage.xaml.cs

@@ -0,0 +1,241 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+
+namespace PDF_Office.CustomControl
+{
+    public enum ContentResult
+    {
+        Cancel,
+        MiddleCancel,
+        Ok
+    }
+
+    /// <summary>
+    /// AlertsMessage.xaml 的交互逻辑
+    /// 因为是纯UI的逻辑显示,所以没有再创建VM
+    /// </summary>
+    public partial class AlertsMessage : Window
+    {
+        public ContentResult result = ContentResult.Cancel;
+
+        private Window ownerWindow;
+        public AlertsMessage()
+        {
+            InitializeComponent();
+
+            ownerWindow = App.Current.MainWindow;
+        }
+
+        /// <summary>
+        /// 一个按钮弹窗
+        /// </summary>
+        public void Show(string title, string content,string okBtn)
+        {
+            TitleText.Text = title;
+            ContentText.Text = content;
+            CancelBtn.Visibility = Visibility.Collapsed;
+            MiddleCancelBtn.Visibility = Visibility.Collapsed;
+            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();
+        }
+
+        /// <summary>
+        /// 两个按钮弹窗
+        /// </summary>
+        public void Show(string title,string content,string cancelBtn,string okBtn)
+        {
+            TitleText.Text = title;
+            ContentText.Text = content;
+            CancelBtn.Visibility = Visibility.Collapsed;
+            MiddleCancelBtn.Content = cancelBtn;
+            OkBtn.Content = okBtn;
+            Width = 408;
+
+            Grid.SetColumn(MiddleCancelBtn, 0);
+            Grid.SetColumn(OkBtn, 1);
+
+            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();
+        }
+
+        /// <summary>
+        /// 三个按钮弹窗
+        /// </summary>
+        public void Show(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
+        {
+            TitleText.Text = title;
+            ContentText.Text = content;
+            CancelBtn.Visibility = Visibility.Visible;
+            CancelBtn.Content = cancelBtn1;
+            MiddleCancelBtn.Content = cancelBtn2;
+            OkBtn.Content = okBtn;
+
+            Grid.SetColumn(CancelBtn, 0);
+            Grid.SetColumn(MiddleCancelBtn, 1);
+            Grid.SetColumn(OkBtn, 2);
+
+            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();
+        }
+
+
+        public void ShowDialog(string title, string content, string okBtn)
+        {
+            TitleText.Text = title;
+            ContentText.Text = content;
+            CancelBtn.Visibility = Visibility.Collapsed;
+            MiddleCancelBtn.Visibility = Visibility.Collapsed;
+            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;
+                WindowStartupLocation = WindowStartupLocation.CenterOwner;
+                ShowDialog();
+            }
+        }
+
+        public void ShowDialog(string title, string content, string cancelBtn, string okBtn)
+        {
+            TitleText.Text = title;
+            ContentText.Text = content;
+            CancelBtn.Visibility = Visibility.Collapsed;
+            MiddleCancelBtn.Content = cancelBtn;
+            OkBtn.Content = okBtn;
+            Width = 408;
+
+            Grid.SetColumn(MiddleCancelBtn, 0);
+            Grid.SetColumn(OkBtn, 1);
+
+            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);
+
+            if (ownerWindow != null)
+            {
+                Owner = ownerWindow;
+                WindowStartupLocation = WindowStartupLocation.CenterOwner;
+                ShowDialog();
+            }
+        }
+
+
+
+        public void ShowDialog(string title, string content, string cancelBtn1, string cancelBtn2, string okBtn)
+        {
+            TitleText.Text = title;
+            ContentText.Text = content;
+            CancelBtn.Visibility = Visibility.Visible;
+            CancelBtn.Content = cancelBtn1;
+            MiddleCancelBtn.Content = cancelBtn2;
+            OkBtn.Content = okBtn;
+
+            Grid.SetColumn(CancelBtn, 0);
+            Grid.SetColumn(MiddleCancelBtn, 1);
+            Grid.SetColumn(OkBtn, 2);
+
+            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;
+                WindowStartupLocation = WindowStartupLocation.CenterOwner;
+                ShowDialog();
+            }
+        }
+
+
+        private void CancelBtn_Click(object sender, RoutedEventArgs e)
+        {
+            result = ContentResult.Cancel;
+            Close();
+        }
+
+        private void MiddleCancelBtn_Click(object sender, RoutedEventArgs e)
+        {
+            result = ContentResult.MiddleCancel;
+            Close();
+        }
+
+        private void OkBtn_Click(object sender, RoutedEventArgs e)
+        {
+            result = ContentResult.Ok;
+            Close();
+        }
+
+        private void Border_PreviewMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+        {
+            this.DragMove();
+        }
+    }
+}

+ 7 - 0
PDF Office/PDF Office.csproj

@@ -109,6 +109,9 @@
       <Generator>MSBuild:Compile</Generator>
       <SubType>Designer</SubType>
     </ApplicationDefinition>
+    <Compile Include="CustomControl\AlertsMessage.xaml.cs">
+      <DependentUpon>AlertsMessage.xaml</DependentUpon>
+    </Compile>
     <Compile Include="CustomControl\CustomIconToggleBtn.cs" />
     <Compile Include="CustomControl\IconAndTextTabItem.cs" />
     <Compile Include="CustomControl\ListBoxItemToolBar.cs" />
@@ -211,6 +214,10 @@
     <Compile Include="Views\ViewContent.xaml.cs">
       <DependentUpon>ViewContent.xaml</DependentUpon>
     </Compile>
+    <Page Include="CustomControl\AlertsMessage.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
     <Page Include="CustomControl\LoadingControl.xaml">
       <SubType>Designer</SubType>
       <Generator>MSBuild:Compile</Generator>