Statusleiste in WPF ist altmodisch. Schritten in Bars. Wie implementieren Sie eine Fortschritt-bar mit vista oder windows-7 schattigen glow-Effekt?
Statusleiste in WPF ist altmodisch. Schritten in Bars. Wie implementieren Sie eine Fortschritt-bar mit vista oder windows-7 schattigen glow-Effekt ?
Bild http://quickshare.my3gb.com/download/2.JPG
Selbst überprüfte die Eigenschaften der Progressbar. Aber, es gibt keine Eigenschaften, die man glowy-Effekt.
Auch gibt es keine Animationen oder etwas anderes von der normalen Statusanzeige/
Dank Adv.
Bearbeiten
Der Code
<ProgressBar Height="41" HorizontalAlignment="Left" Margin="372,215,0,0" Name="progressBar1" VerticalAlignment="Top" Width="150">
</ProgressBar>
Ich glaube, Sie brauchen, um mit dem Aero-Design in Windows 7 (Windows 7 Basic oder Windows 7), um die glatte leuchtende Schritten. Wenn Sie wechseln Sie zu "Windows-Klassisch", dann bekommst du die Balken. Wenn Sie aus irgendeinem Grund möchten, haben eine glatte Fortschrittsbalken Themen-auch wenn in non-Aero, dann können Sie kopieren Sie den Fortschrittsbalken Vorlage, definiert das "Aussehen" wenn in Aero.
Ich habe versucht, ändern der styles (themes) und sogar versucht Win 8 auch! Die app zeigt immer noch die traditionellen bars
Es ist nicht ganz das gleiche Aussehen...aber vielleicht sind Sie in der Lage, etwas von der BusyIndicator in der ExtendedWPFToolkit ... wpftoolkit.codeplex.com/...
Ihre Fortschritte Bar "sollte" use Aero...welches OS verwendest du ? Könnte man den XAML-Code für deine ProgressBar...sind Sie styling in irgendeiner Weise. .....Zwingen Sie Ihre WPF-Anwendung zu verwenden, Aero, dann könnte man dies tun.... arbel.net/2006/11/03/... ... und hier.... kennethham.com/wp/2010/11/...
Um ehrlich zu sein, mein Fortschrittsbalken ist glänzend in WPF....warum nicht auch Ihre? Auf welchem Betriebssystem laufen Sie?
Ich habe versucht, ändern der styles (themes) und sogar versucht Win 8 auch! Die app zeigt immer noch die traditionellen bars
Es ist nicht ganz das gleiche Aussehen...aber vielleicht sind Sie in der Lage, etwas von der BusyIndicator in der ExtendedWPFToolkit ... wpftoolkit.codeplex.com/...
Ihre Fortschritte Bar "sollte" use Aero...welches OS verwendest du ? Könnte man den XAML-Code für deine ProgressBar...sind Sie styling in irgendeiner Weise. .....Zwingen Sie Ihre WPF-Anwendung zu verwenden, Aero, dann könnte man dies tun.... arbel.net/2006/11/03/... ... und hier.... kennethham.com/wp/2010/11/...
Um ehrlich zu sein, mein Fortschrittsbalken ist glänzend in WPF....warum nicht auch Ihre? Auf welchem Betriebssystem laufen Sie?
InformationsquelleAutor now he who must not be named. | 2012-08-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Rollen Sie Ihre eigenen, sollte nicht allzu schwer sein.
Ein Benutzersteuerelement erstellen, die die Eigenschaften von einem standard-Fortschrittsbalken
Können Sie erstellen Sie eine abgeleitete Eigenschaft, die berechnet die Größe der bar durch die Verwendung der Formel:
Was ändert sich, wenn der Wert, Maximum oder Minimum wird aktualisiert
Binden diese an die Breite der 'bar' in Ihrem progress bar control-Vorlage - auf diese Weise, wenn die Value-Eigenschaft aktualisiert wird, wird der Fortschrittsbalken ändern.
Wie Ihr Balken aussieht, ist bis zu Ihnen, aber ich denke, Sie wollen einfach nur eine Last von ausgefallenen Füllungen/Verläufe/glow-Effekte - Sie können fügen Sie diese in Mischung
Disclaimer: die Formeln können falsch sein!
In Fall, dass Sie wollen, um zu versuchen und Rollen Sie Ihre eigenen, hier ist eine, die ich gerade klopfte-up, das scheint zu funktionieren ok
XAML
Das Ergebnis:
Wie gesagt, sowas ist ziemlich einfach, aber immer noch als die Neudefinition der Vorlage oder mit dem original, da es unterstützt glowyness auf der rechten OS
Hier ist es nach fügte ich ein 'Prozent' Abhängigkeitseigenschaft und gebunden, dass in der Kontrolle Vorlage:
Code für die Aktualisierung
Percent
warEdit 2:
Ich Durcheinander mit den Füllungen und fügte hinzu, eine weiße innere Grenze, so wirkt es etwas glänzend. Das einzige, was fehlt, ist die glänzende animation
oben ist meine Kontrolle, die Unterste ist die Standard-WPF eine
Bedenken, all dies kann möglich sein, nur durch Bearbeiten der progress bar control template
Hier ist die aktualisierte XAML:
Wie Vincent schon sagte, Sie könnte immer neu zu definieren, control-Vorlage - könnte es besser sein, wenn Sie nicht brauchen zusätzliche Funktionalität, die nicht erreicht durch die Bindung (ich denke, eine prozentuale Anzeige funktionieren könnte mit der Bindung, ich werde es versuchen)
Testen Sie die codes Charleh. Es ist wie das hinzufügen neuer Dateien (die XAML-und die Klasse, die Sie gab dem Projekt Recht ? Ich bin Check-out..)
Ja, nur fügen Sie ein neues Benutzersteuerelement zum Projekt und kopieren Sie/fügen Sie den XAML-Code. Stellen Sie sicher, benennen Sie die
x:Class
im XAML die gleiche namespace/Klasse wie Ihr neues usercontrol. Sie müssen auch zu ändernDependencyProperty.Register
Anrufe, so dasstypeof(MyProgressBar)
verwendet Ihre uc-Typ-Namen. Entweder das, oder Sie können nur copy/paste das ganze in eine neue UC - es benennt die Klasse um MyProgressBar so könnte es nicht mit der mit dem Namen... dann müssen Sie nur fügen Sie den namespace und das Steuerelement hinzufügenIrgendeinem Grund sind Sie nicht nur Neugestaltung der bestehenden Steuern, anstatt die Schaffung einer neuen Steuerung
InformationsquelleAutor Charleh
Müssen Sie das Aero-Design (D. H. Windows 7 Basic oder Windows 7) in Ihren Einstellungen zur Personalisierung von Windows, um den reibungslosen Ablauf der bar und animierten glow look.
Vista und Windows 7 die Aero-theme. Es gar nicht existieren, wenn Windows XP veröffentlicht wurde. Es wurde ebenfalls entfernt in Windows 8 für ein standard-look auf der ganzen Linie. Wenn Sie wechseln Sie zu "Windows-Klassisch" dann bekommen Sie die alten klobigen Balken-look für die progress-bar.
WPF hat einen anderen Satz von Vorlagen für Luna, Aero, Royale, Classic.....was es tut, ist das Thema Ihr system ist derzeit mit, und dann macht Sie sich entscheiden, welche Reihe von WPF-Templates zu verwenden.
Wenn du also auf XP, es wird nie die Möglichkeit, die Aero Reihe von Vorlagen.
Wenn aus irgendeinem Grund Sie möchten Ihre Fortschrittsbalken Themen mit dem Aero-look, auch wenn Windows nicht mit dem Aero-Design, dann gibt es 2 Lösungen.
Lösungen:
Können Sie erzwingen, dass Sie Ihre WPF-Anwendung zu verwenden, die Aero-Themen-WPF-Vorlagen für alle Bedienelemente:
http://arbel.net/2006/11/03/forcing-wpf-to-use-a-specific-windows-theme/
http://www.kennethham.com/wp/2010/11/force-wpf-to-use-windows-7aero-theming-in-classic-mode/
ODER
Wenn Sie nicht möchten, dass alle Ihre Anwendungen kontrolliert werden Themen wie Aero, dann nehmen Sie einfach die style/template definiert, dass den Aero-look von der ProgressBar-Komponente aus dem Aero-theme-Ressourcen und wenden Sie es auf Ihr ProgressBar.
Hoffentlich so oder so erhalten Sie Ihre leuchtende Statusanzeige....beachten Sie, ich habe kein XP zum testen, wenn dies der Fall ist.
InformationsquelleAutor Colin Smith
Wenn Sie möchten, ändern Sie das Aussehen der Statusleiste, haben Sie, um neu zu definieren, Ihre (Kontroll -) Vorlage.
ms erklärt hier :
http://msdn.microsoft.com/en-us/library/ms750638.aspx
Schreiben Sie die Vorlage, um den Glanz, die Sie verwenden können, die BitmapEffect,
mit einem OuterGlowBitmapEffect (!Software gerendert), aber am Besten ist die Wirkung (mehr up to date).
Vielleicht haben Sie nicht haben, um neu zu definieren, Template, wenn Sie die Wirkung von
der Fortschrittsbalken und es zu Ihnen passt.
Beachten Sie, dass Sie gute Kostenlose themes für Ihre Anwendung die net.
Wpf hat zwei Möglichkeiten zu geben, eine Eigenschaft ein Wert, verwenden Sie die zweite syntax, die in Ihrem Fall ist : <ProgressBar ....> <ProgressBar.Wirkung><BlurEffect Radius="2"/> </ProgressBar.Wirkung> </ProgressBar>
Vincent Piel, mit Ihrem code die progress bar ist Recht gut.Dank für, die. Aber immer noch kein glow-Effekt! ?
vielleicht versuchen die veralteten OuterGlowBitmapEffect ... ich weiß nicht, ich habe noch nie glühen. Graben für die bestimmten Punkt (wie eine Glut im Allgemeinen) auf das Netz.
InformationsquelleAutor GameAlchemist
Kann man nach der animation mit dem folgenden, das ist ein tweak für die akzeptierte Antwort:
Vorschau:
InformationsquelleAutor James M