سؤال
أنا أستخدم عنصر التحكم ProgressBar في تطبيق WPF وأحصل على تقدم Windows 3.1 القديمكتل شيء.في VB6، كانت هناك خاصية لإظهار ملف سلس شريط التقدم.هل هناك شيء من هذا القبيل بالنسبة لـ WPF؟
المحلول
هذا يبدو أن مقالة قاعدة المعارف تشرح ما تبحث عنه...يوجد رابط لنسخة VB من المقالة أيضًا.
نصائح أخرى
لم أتمكن من إيجاد حل مباشر لذلك.لكنني وجدت شيئًا أفضل.في WPF، يمكنك استخدام سمات Windows.أنا أستخدم نظام التشغيل Windows XP، ولدي سمة Vista-Aero على تطبيق WPF الخاص بي، مما يجعل جميع عناصر التحكم تبدو مثل Vista-Aero.
ها هو الكود...
انتقل إلى Application.xaml.vb واكتب...
Enum appThemes
Aero
Luna
LunaMettalic
LunaHomestead
Royale
End Enum
Private Sub Application_Startup(ByVal sender As Object, ByVal e As System.Windows.StartupEventArgs) Handles Me.Startup
setTheme(appThemes.Aero)
End Sub
''' <summary>
''' Function to set the default theme of this application
''' </summary>
''' <param name="Theme">
''' Theme of type appThemes
''' </param>
''' <remarks></remarks>
Public Sub setTheme(ByVal Theme As appThemes)
Dim uri As Uri
Select Case Theme
Case appThemes.Aero
' Vista Aero Theme
uri = New Uri("PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component\\themes/Aero.NormalColor.xaml", UriKind.Relative)
Case appThemes.Luna
' Luna Theme
uri = New Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component\\themes/Luna.NormalColor.xaml", UriKind.Relative)
Case appThemes.LunaHomestead
' Luna Mettalic
uri = New Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component\\themes/Luna.Metallic.xaml", UriKind.Relative)
Case appThemes.LunaMettalic
' Luna Homestead
uri = New Uri("PresentationFramework.Luna;V3.0.0.0;31bf3856ad364e35;component\\themes/Luna.Homestead.xaml", UriKind.Relative)
Case appThemes.Royale
' Royale Theme
uri = New Uri("PresentationFramework.Royale;V3.0.0.0;31bf3856ad364e35;component\\themes/Royale.NormalColor.xaml", UriKind.Relative)
End Select
' Set the Theme
Resources.MergedDictionaries.Add(Application.LoadComponent(uri))
End Sub
(آمل أن تتمكن من تحويله إلى C#)
لست متأكدًا مما تريد القيام به.إذا كنت تريد ببساطة شريط تقدم "ينتقل" من جانب إلى آخر كما هو الحال عند بدء تشغيل نظام التشغيل Vista، فيمكنك استخدام:غير محدد = صحيح.
إذا كنت تريد بالفعل الانتقال من 0% إلى 100%، فيجب عليك إما تحريك القيمة كما هو موضح في هذا المثال على msdn: http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar.aspx أو قم بتعيين القيمة بشكل صريح إما في الكود الخلفي (على الأرجح من عامل الخلفية) أو من خلال الارتباط بقيمة متغيرة.
ومع ذلك، يجب أن يكون WPF ProgressBar "سلسًا" دائمًا، وهناك احتمال أن تتحول واجهة المستخدم إلى إصدار أكثر بساطة بشكل افتراضي من خلال اتصال RemoteDesktop.
لقد انزعجت مؤخرًا من ظهور أشرطة التقدم الخاصة بي على نظام XP بعد التطوير على نظام التشغيل Vista.لم أرغب في تجربة الاقتراحات التي رأيتها لتحميل أنماط نظام التشغيل Vista من ملفات dll، ولكن هذا المقال أعطاني فقط ما كنت أبحث عنه.مظهر فيستا - لا توجد فئات جديدة.بالإضافة إلى أنه يحتوي على تسليط الضوء الزجاجي على جهاز توقيت.لا توجد صور في المقالة، ولكنها تبدو تمامًا مثل ProgressBar الخاص بـ Vista.