From e64d24005284e88daec445c7e79e6b93929d2463 Mon Sep 17 00:00:00 2001
From: chr <chrry550@163.com>
Date: 星期三, 28 二月 2024 15:35:32 +0800
Subject: [PATCH] 优化程序UI;

---
 Controls/IconTabItem.cs |  117 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 71 insertions(+), 46 deletions(-)

diff --git a/Controls/IconTabItem.cs b/Controls/IconTabItem.cs
index 4bddc27..fef59e2 100644
--- a/Controls/IconTabItem.cs
+++ b/Controls/IconTabItem.cs
@@ -1,46 +1,71 @@
-锘縰sing System.Windows;
-using System.Windows.Controls;
-
-namespace WPFProject.Controls
-{
-    public class IconTabItem : TabItem
-    {
-        public IconTabItem() : base()
-        {
-            Visibility = Visibility.Collapsed;
-        }
-
-        private string _icon;
-        public string Icon
-        {
-            get => _icon;
-            set => _icon = value;
-        }
-
-        private bool _isFont;
-        public bool IsFont
-        {
-            get => _isFont;
-            set => _isFont = value;
-        }
-
-        private Window _Body;
-        public Window Body
-        {
-            get => _Body;
-            set => _Body = value;
-        }
-
-        // 鍗旽eader鐨勫瓧浣撳ぇ灏�
-        public double HeaderFontSize
-        {
-            get { return (double)GetValue(HeaderFontSizeProperty); }
-            set { SetValue(HeaderFontSizeProperty, value); }
-        }
-
-        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
-        public static readonly DependencyProperty HeaderFontSizeProperty =
-            DependencyProperty.Register("HeaderFontSize", typeof(double), typeof(IconTabItem), new PropertyMetadata(20.0));
-
-    }
-}
+锘縰sing System.ComponentModel;
+using System.Runtime.CompilerServices;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+
+namespace WPFProject.Controls
+{
+    public class IconTabItem : TabItem , INotifyPropertyChanged
+    {
+        public event PropertyChangedEventHandler PropertyChanged;
+
+        protected virtual void RaisePropertyChanged(string name)
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
+        }
+
+        protected void RaiseAndSetIfChanged<T>(ref T old, T @new, [CallerMemberName] string propertyName = null)
+        {
+            old = @new;
+            if (propertyName != null)
+            {
+                RaisePropertyChanged(propertyName);
+            }
+        }
+
+        public IconTabItem() : base()
+        {
+            Visibility = Visibility.Collapsed;
+        }
+
+        private bool _isFont;
+        public bool IsFont
+        {
+            get => _isFont;
+            set => _isFont = value;
+        }
+
+        private Window _Body;
+        public Window Body
+        {
+            get => _Body;
+            set => _Body = value;
+        }
+
+        private BitmapImage _icon;
+        public BitmapImage Icon
+        {
+            get { return (BitmapImage)GetValue(IconProperty); }
+            set { SetValue(IconProperty, value); }
+        }
+
+        public static readonly DependencyProperty IconProperty =
+            DependencyProperty.Register("Icon", typeof(BitmapImage), typeof(IconTabItem), new PropertyMetadata(
+                new BitmapImage(new System.Uri("pack://application:,,,/Resources/Icon/xinzeng_1.png"))));
+
+
+        // 鍗旽eader鐨勫瓧浣撳ぇ灏�
+        public double HeaderFontSize
+        {
+            get { return (double)GetValue(HeaderFontSizeProperty); }
+            set { SetValue(HeaderFontSizeProperty, value); }
+        }
+
+        // Using a DependencyProperty as the backing store for MyProperty.  This enables animation, styling, binding, etc...
+        public static readonly DependencyProperty HeaderFontSizeProperty =
+            DependencyProperty.Register("HeaderFontSize", typeof(double), typeof(IconTabItem), new PropertyMetadata(10.0));
+
+    }
+}

--
Gitblit v1.9.1