سؤال

أنا أستخدم عنصر التحكم 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top