** هذا المشروع هو استمرار للمشروع الأساسي غير النشط لمنصات أخرى (WinUI/Uno.Skia.Wpf/Console) - https://github.com/hardcodet/wpf-notifyicon **
يعد هذا تطبيقًا لـ NotifyIcon (المعروف أيضًا باسم رمز علبة النظام أو رمز شريط المهام) لمنصات .Net 6 WPF/WinUI/Uno.Skia.WPF/Console. إنه لا يعتمد فقط على مكون Windows Forms NotifyIcon، ولكنه عنصر تحكم مستقل تمامًا يستفيد من العديد من ميزات أطر عمل WPF/WinUI من أجل عرض تلميحات الأدوات الغنية والنوافذ المنبثقة وقوائم السياق والرسائل البالونية. ويمكن استخدامه مباشرة في التعليمات البرمجية أو تضمينه في أي ملف XAML.
Install-Package H.NotifyIcon.Wpf
Install-Package H.NotifyIcon.WinUI
Install-Package H.NotifyIcon.Uno
Install-Package H.NotifyIcon.Uno.WinUI
# If you need other platforms, you can use this Core library -
# it allows you to make NotifyIcon even in a console application.
Install-Package H.NotifyIcon
< Window
xmlns : tb = " clr-namespace:H.NotifyIcon;assembly=H.NotifyIcon.Wpf " // WPF
xmlns : tb = " using:H.NotifyIcon " // WinUI
>
< tb : TaskbarIcon
ToolTipText = " ToolTip "
IconSource = " /Images/TrayIcons/Logo.ico "
ContextMenu = " {StaticResource TrayMenu} "
MenuActivation = " LeftOrRightClick "
TrayPopup = " {StaticResource TrayStatusPopup} "
PopupActivation = " DoubleClick "
TrayToolTip = " {StaticResource TrayToolTip} "
/>
</ Window >
يقدم Windows 11 مفهومًا جديدًا يسمى وضع الكفاءة.
نظرًا لأن هذه المكتبة مخصصة بشكل أساسي للتطبيقات الموجودة في الخلفية مع القدرة على التفاعل من خلال TrayIcon، فإن المكتبة تنفذ واجهة برمجة التطبيقات (API) لهذا الوضع:
EfficiencyModeUtilities . SetEfficiencyMode ( bool value )
WindowExtensions . Hide ( this Window window , enableEfficiencyMode : true ) // default value
WindowExtensions . Show ( this Window window , disableEfficiencyMode : true ) // default value
TaskbarIcon . ForceCreate ( bool enablesEfficiencyMode = true ) // default value
مثال 1:
< tb : TaskbarIcon >
< tb : TaskbarIcon .IconSource>
< tb : GeneratedIconSource
Text = " "
Foreground = " Red "
/>
</ tb : TaskbarIcon .IconSource>
</ tb : TaskbarIcon >
مثال 2:
< tb : TaskbarIcon
IconSource = " /Icons/Error.ico "
>
< tb : TaskbarIcon .IconSource>
< tb : GeneratedIconSource
Text = " 5 "
Foreground = " Black "
FontSize = " 36 "
FontWeight = " Bold "
/>
</ tb : TaskbarIcon .IconSource>
</ tb : TaskbarIcon >
مثال 3:
< tb : TaskbarIcon >
< tb : TaskbarIcon .IconSource>
< tb : GeneratedIconSource
Text = " "
Foreground = " Red "
FontFamily = " Segoe UI Emoji "
Background = " AliceBlue "
FontWeight = " Bold "
FontSize = " 38 "
/>
</ tb : TaskbarIcon .IconSource>
</ tb : TaskbarIcon >
مثال 4:
< tb : TaskbarIcon >
< tb : TaskbarIcon .IconSource>
< tb : GeneratedIconSource
Text = " "
BorderThickness = " 5 "
FontSize = " 46 "
>
< tb : GeneratedIconSource .Foreground>
< LinearGradientBrush StartPoint = " 0,0 " EndPoint = " 128,128 " >
< GradientStop Color = " White " />
< GradientStop Color = " Red " />
</ LinearGradientBrush >
</ tb : GeneratedIconSource .Foreground>
< tb : GeneratedIconSource .BorderBrush>
< LinearGradientBrush StartPoint = " 0,0 " EndPoint = " 128,128 " >
< GradientStop Color = " White " />
< GradientStop Color = " Red " />
</ LinearGradientBrush >
</ tb : GeneratedIconSource .BorderBrush>
</ tb : GeneratedIconSource >
</ tb : TaskbarIcon .IconSource>
</ tb : TaskbarIcon >
يوصى بتثبيت أيقونة المصمم لسهولة المشاهدة. للقيام بذلك، انتقل إلى إعدادات شريط المهام -> أيقونات علبة النظام الأخرى وقم بتمكين هذا الرمز:
في الوقت الحالي، يتم تنفيذ ثلاثة أوضاع، ولكل منها إيجابياته وسلبياته.
توفر الخيارات المتنوعة (يعتمد على إصدار WindowsAppSDK
الذي تستخدمه):
خيار | التطبيق المعبأ | التطبيق غير المعبأ |
---|---|---|
الشفافية | من 1.1.0 المعاينة | من 1.1.0 المعاينة |
بلا حدود | من 1.1.0 المعاينة | |
الرسوم المتحركة | ، ولكن بحدود | من 1.1.0 المعاينة |
القوائم الفرعية |
مكان الأولوية للأخطاء: https://github.com/HavenDV/H.NotifyIcon/issues مكان الأولوية للأفكار والأسئلة العامة: https://github.com/HavenDV/H.NotifyIcon/discussions لدي أيضًا Discord قناة الدعم:
https://discord.gg/g8u2t9dKgE