none
Blend zeigt aktiven Status von Template nicht an RRS feed

  • Frage

  • Hallo,

    Ich habe in einem Ressourcenverzeichnis ein Template für eine Button Komponente hinzugefügt, dieser ein Rectangle hinzugefügt und der Eigenschaft Opacity des Rectangle im Status "Basis" auf 0% gestellt. Dann habe ich unter "CommonStates" den Status "MouseOver" ausgewählt und die Opacity des Rectangles auf 100% gestellt und einen übergang zu dem Status von einer Sekunde eingestellt.

    Wenn ich die Eigenschaft des Rectangles durch Klicken und Ziehen verändere kann ich in der Designansicht die veränderung sehen. Wenn ich die Maus loslasse, wird der Wert an dem Einstellregler scheinbar wieder zurückgesetzt und die darstellung in der Designansicht ebenfalls.

    Wenn ich aber im Fenster "Status" die Einstellung aktiviere mit der ich die Übergangsanimationen sehen kann, wenn ich den Aktiven Status in diesem Fenster umschalte, so kann ich in der Designansicht den übergang der Animation sehen. Also werden die Werte gespeichert, aber von Blend nicht richtig angezeigt im aktivierten Status.

    Wie kann ich dieses Problem beheben?

    Mit freundlichen Grüßen,

    Tom Rieck

    Donnerstag, 19. März 2015 13:26

Antworten

  • Hallo,

    Danke für die schnelle Antwort.

    Aber so ist das nicht. Ich spreche von der Designansicht in Blend, dort ist die kollision mit der maus irrelevant, wenn man den zu bearbeitenden Status im Fenster "Zustände" auswählt.

    Wie auch immer habe ich herausgefunden, dass es ein internes problem geben muss. Ich konnte das konkrete problem lösen das ich hatte, indem ich das ressourcenverzeichnis mit dem ich gearbeitet habe in das wurzelverzeichnis des projektes verschoben habe. Vorher war es in einem der unterordner.

    Grüße,

    Tom Rieck

    • Als Antwort markiert Ravior Montag, 23. März 2015 10:40
    Montag, 23. März 2015 10:37

Alle Antworten

  • Hallo,
    ich vermute mal, das wenn du von Opacity=0 schreibst, dass es dann der ganze Button nicht mehr sichtbar ist. In dem Fall wird auch kein MouseOver etc. mehr ausgelöst und der VisualState wird nicht korrekt gesetzt.
    Setze daher Opacity nicht auf 0 sondern auf 0.005 o.ä. - man sieht keinen Unterschied, aber MouseOver etc. funktionieren.

    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Donnerstag, 19. März 2015 15:58
    Moderator
  • Hallo,

    Danke für die schnelle Antwort.

    Aber so ist das nicht. Ich spreche von der Designansicht in Blend, dort ist die kollision mit der maus irrelevant, wenn man den zu bearbeitenden Status im Fenster "Zustände" auswählt.

    Wie auch immer habe ich herausgefunden, dass es ein internes problem geben muss. Ich konnte das konkrete problem lösen das ich hatte, indem ich das ressourcenverzeichnis mit dem ich gearbeitet habe in das wurzelverzeichnis des projektes verschoben habe. Vorher war es in einem der unterordner.

    Grüße,

    Tom Rieck

    • Als Antwort markiert Ravior Montag, 23. März 2015 10:40
    Montag, 23. März 2015 10:37
  • Hallo,
    kannst du mal bitte deinen XAML Code zeigen? Ich kann mich nur schwer vorstellen das dort irgendwo ein Fehler in der API vorliegt.
    Bzw. wenn ein Problem der API vorliegt, würde ich gerne wissen woran es liegt. Auch hilft es vielleicht anderen Besuchern mit einem ähnlichen Problem.

    Tom Lambert - .NET (C#) MVP
    Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Montag, 23. März 2015 13:42
    Moderator
  • Ich kann dir den XAML Code nicht zeigen, weil diese Datei mittlerweile riesig ist.

    Aber du kannst das selber nachstellen: Lege ein ressourcenverzeichnis an, verschiebe es in einem unterverzeichnis deines projektes und aktualisiere die referenz darauf in der App.xaml.

    Anschließend gehst du in Blend, ziehst einen Button auf dein MainWindow und erzeugst für den button ein neues style template. Das ziel des styles muss das vorher angelegte ressourcenverzeichnis sein.

    Nun wird das Template in Blend geladen und du wählst einen alternativen status aus im Fenster "Status". Ändere eine der eigenschaften des Templates und du kannst sehen, dass die eigenschaft in der designansicht nicht richtig verändert angezeigt wird, obwohl die richtigen veränderten werte gespeichert werden.

    Grüße,

    Tom Rieck

    Montag, 23. März 2015 22:54