Frage

Ich bin mit dem ProgressBar-Steuerelement in einer WPF-Anwendung und ich bin immer diese alte, Windows 3.1 Fortschritt Blöcke Sache. In VB6 gab es eine Eigenschaft eines zeigen glatt ProgressBar. Gibt es so etwas für WPF?

War es hilfreich?

Lösung

Diese KB-Artikel zu erklären scheint, was Sie suchen ... es ist ein Link zu einer VB-Version des Artikels zu.

Andere Tipps

Ich war nicht in der Lage eine direkte Lösung hierfür zu finden. Aber ich fand, etwas noch besser. In WPF können Sie Windows Themes verwenden. Ich verwende Windows XP und Vista-Aero Theme auf meiner WPF-Anwendung mit, so dass alle Kontrollen aussehen wie Vista-Aero.

Hier ist der Code ...

Gehen Sie

zu Application.xaml.vb und schreiben ...

  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

(Ich hoffe es in C # konvertieren)

Ich bin nicht sicher, was Sie tun möchten. Wenn Sie einfach nur ein Fortschrittsbalken wollen, dass „Sweeps“ von Seite zu Seite wie beim Start Vista Sie nutzen könnten. IsIndetermined = true

Wenn Sie wirklich wollen, von 0% bis 100% gehen, müssen Sie entweder über den Wert animieren wie in diesem Beispiel auf Msdn gezeigt: http://msdn.microsoft.com/en-us/library/system.windows.controls.progressbar.aspx oder setzen Sie den Wert explizit entweder in Code-Behind (höchstwahrscheinlich von einem Hintergrundarbeiter) oder durch zu einem sich ändernden Wert eine Bindung.

die WPF ProgressBar sollte dennoch immer „glatt“, besteht die Möglichkeit, dass die Benutzeroberfläche eine einfachere Version über eine Remoteverbindung ausfällt.

Ich war vor kurzem durch das Erscheinen meines Fortschrittsbalken auf XP verärgert, nachdem auf Vista zu entwickeln. Ich wollte nicht, Vorschläge versuchen, ich für das Laden der Vista Arten von DLL gesehen hatte, aber dieser Artikel mir nur gab, was ich suchte. vista Aussehen - keine neuen Klassen. Plus hat es den glasigen Highlight auf einem Timer. Kein Bild auf dem Artikel, aber es sieht aus wie Vista ProgressBar.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top