Glatte ProgressBar in WPF
-
01-07-2019 - |
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?
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 Siezu 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.