diff --git a/MainWindow.xaml b/MainWindow.xaml index 1ccd66a..6360984 100644 --- a/MainWindow.xaml +++ b/MainWindow.xaml @@ -5,9 +5,10 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" xmlns:local="clr-namespace:WpfApp.src.components" - mc:Ignorable="d" - Title="MainWindow" Height="800" Width="1200"> + Title="MainWindow" Height="800" Width="1200" + Icon="/src/public/Icons/programIcons/FMSDGAUGE-main.ico" + > diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs index 258f544..2ce832d 100644 --- a/MainWindow.xaml.cs +++ b/MainWindow.xaml.cs @@ -85,32 +85,32 @@ public partial class MainWindow : Window private void OnFilePageButtonClick(object sender, RoutedEventArgs e) { - WindowHelper.ShowPageDialog(new FilePage(), "记录列表", 810, 600); + WindowHelper.ShowPageDialog(new FilePage(), "记录列表", 810, 600,isResizable: false, "..\\..\\..\\src\\public\\Icons\\programIcons\\main1-File.ico"); } private void OnConfigPageButtonClick(object sender, RoutedEventArgs e) { - WindowHelper.ShowPageDialog(new ConfigPage(), "配置", 972, 648); + WindowHelper.ShowPageDialog(new ConfigPage(), "配置", 972, 648, isResizable: false, "..\\..\\..\\src\\public\\Icons\\programIcons\\main2-Config.ico"); } private void OnStandardPageButtonClick(object sender, RoutedEventArgs e) { - WindowHelper.ShowPageDialog(new StandardPage(), "主标定", 972, 648, isResizable: true); + WindowHelper.ShowPageDialog(new StandardPage(), "主标定", 972, 648, isResizable: true, "..\\..\\..\\src\\public\\Icons\\programIcons\\main3-Standard.ico"); } private void OnGaugePageButtonClick(object sender, RoutedEventArgs e) { - WindowHelper.ShowPageDialog(new GaugePage(), "Gauge R&&R", 1080, 720); + WindowHelper.ShowPageDialog(new GaugePage(), "Gauge R&&R", 1080, 720, isResizable:false, "..\\..\\..\\src\\public\\Icons\\programIcons\\main4-Gauge.ico"); } private void OnCgCgkPageButtonClick(object sender, RoutedEventArgs e) { - WindowHelper.ShowPageDialog(new CgCgkPage(), "CgCgk", 972, 648, isResizable: true); + WindowHelper.ShowPageDialog(new CgCgkPage(), "CgCgk", 972, 648, isResizable: true, "..\\..\\..\\src\\public\\Icons\\programIcons\\main5-CgCgk.ico"); } private void OnSysSetPageButtonClick(object sender, RoutedEventArgs e) { - WindowHelper.ShowPageDialog(new SysSetPage(), "系统设置", 810, 600); + WindowHelper.ShowPageDialog(new SysSetPage(), "系统设置", 810, 600, isResizable:false, "..\\..\\..\\src\\public\\Icons\\programIcons\\main6-SysSet.ico"); } #endregion diff --git a/Utils/WindowHelper.cs b/Utils/WindowHelper.cs index 97f5805..4bfa061 100644 --- a/Utils/WindowHelper.cs +++ b/Utils/WindowHelper.cs @@ -1,34 +1,53 @@ -using System.Windows; +using System; +using System.Windows; using System.Windows.Controls; +using System.Windows.Media.Imaging; using System.Windows.Navigation; -namespace WpfApp.Utils; - -public static class WindowHelper +namespace WpfApp.Utils { - /// - /// 通用窗口打开方法 - /// - /// 要显示的页面实例 - /// 窗口标题 - /// 窗口宽度 - /// 窗口高度 - /// 是否允许调整大小 - public static void ShowPageDialog(Page page, string title, double width = 900, double height = 600, bool isResizable = false) + public static class WindowHelper { - var navWin = new NavigationWindow + /// + /// 通用窗口打开方法 + /// + /// 要显示的页面实例 + /// 窗口标题 + /// 窗口宽度 + /// 窗口高度 + /// 是否允许调整大小 + /// 可选图标路径,如果为空使用默认图标 + public static void ShowPageDialog(Page page, string title, double width = 900, double height = 600, bool isResizable = false, string iconPath = null) { - Content = page, - Title = title, - Width = width, - Height = height, - ShowsNavigationUI = false, - WindowStartupLocation = WindowStartupLocation.CenterOwner, - WindowStyle = WindowStyle.ToolWindow, - Owner = Application.Current.MainWindow, - ResizeMode = isResizable ? ResizeMode.CanResize : ResizeMode.NoResize - }; + var navWin = new NavigationWindow + { + Content = page, + Title = title, + Width = width, + Height = height, + ShowsNavigationUI = false, + WindowStartupLocation = WindowStartupLocation.CenterOwner, + WindowStyle = WindowStyle.ToolWindow, + Owner = Application.Current.MainWindow, + ResizeMode = isResizable ? ResizeMode.CanResize : ResizeMode.NoResize + }; + string defaultIconPath = null; + if (iconPath == null) + defaultIconPath = @"..\..\..\src\public\Icons\programIcons\FMSDGAUGE-main.ico"; + else + defaultIconPath = iconPath; - navWin.ShowDialog(); + try + { + navWin.Icon = new BitmapImage(new Uri(System.IO.Path.GetFullPath(defaultIconPath), UriKind.Absolute)); + } + catch (Exception ex) + { + Console.WriteLine($"设置图标失败: {ex.Message}"); + } + + + navWin.ShowDialog(); + } } } diff --git a/WpfApp.csproj b/WpfApp.csproj index f3b24e2..4d672f2 100644 --- a/WpfApp.csproj +++ b/WpfApp.csproj @@ -17,6 +17,15 @@ + + + + + + + + + @@ -31,6 +40,13 @@ + + + + + + + diff --git a/src/public/Excel/Report_2025_10_13.xlsx b/src/public/Excel/Report_2025_10_13.xlsx index 535e947..8130b34 100644 Binary files a/src/public/Excel/Report_2025_10_13.xlsx and b/src/public/Excel/Report_2025_10_13.xlsx differ diff --git a/src/public/Icons/programIcons/FMSDGAUGE-main.ico b/src/public/Icons/programIcons/FMSDGAUGE-main.ico new file mode 100644 index 0000000..a00ece8 Binary files /dev/null and b/src/public/Icons/programIcons/FMSDGAUGE-main.ico differ diff --git a/src/public/Icons/programIcons/main1-File.ico b/src/public/Icons/programIcons/main1-File.ico new file mode 100644 index 0000000..4f34029 Binary files /dev/null and b/src/public/Icons/programIcons/main1-File.ico differ diff --git a/src/public/Icons/programIcons/main2-Config.ico b/src/public/Icons/programIcons/main2-Config.ico new file mode 100644 index 0000000..c036f06 Binary files /dev/null and b/src/public/Icons/programIcons/main2-Config.ico differ diff --git a/src/public/Icons/programIcons/main3-Standard.ico b/src/public/Icons/programIcons/main3-Standard.ico new file mode 100644 index 0000000..c036f06 Binary files /dev/null and b/src/public/Icons/programIcons/main3-Standard.ico differ diff --git a/src/public/Icons/programIcons/main4-Gauge.ico b/src/public/Icons/programIcons/main4-Gauge.ico new file mode 100644 index 0000000..4f34029 Binary files /dev/null and b/src/public/Icons/programIcons/main4-Gauge.ico differ diff --git a/src/public/Icons/programIcons/main5-CgCgk.ico b/src/public/Icons/programIcons/main5-CgCgk.ico new file mode 100644 index 0000000..e8294da Binary files /dev/null and b/src/public/Icons/programIcons/main5-CgCgk.ico differ diff --git a/src/public/Icons/programIcons/main6-SysSet.ico b/src/public/Icons/programIcons/main6-SysSet.ico new file mode 100644 index 0000000..fb0474b Binary files /dev/null and b/src/public/Icons/programIcons/main6-SysSet.ico differ diff --git a/src/view/CgCgkPage.xaml b/src/view/CgCgkPage.xaml index bbb0558..eca55db 100644 --- a/src/view/CgCgkPage.xaml +++ b/src/view/CgCgkPage.xaml @@ -7,7 +7,8 @@ xmlns:local="clr-namespace:WpfApp.src.view" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800" - Title="CgCgkPage"> + Title="CgCgkPage" + >