13 Stimmen

Wie bekomme ich programmatisch den aktuellen visuellen Zustand eines WPF FrameworkElements?

Wie bekomme ich programmatisch den aktuellen visuellen Zustand eines WPF FrameworkElements? Und mit Zustand meine ich die Zustände wie "Normal", "MouseOver", "Disabled", etc.

EDIT: Im Grunde ändere ich den visuellen Status einer Schaltfläche mit VisualStateManager.GoToState(e, "MouseOver", true); und ich möchte wissen, in welchen Zustand ich sie zurückversetzen soll, wenn ich fertig bin.

2voto

Lukas Cenovsky Punkte 5330

Ich denke, Sie müssen den Zustand der Schaltfläche selbst kennen/erinnern. VSM zeigt nur den Zustand an, in dem sich die Schaltfläche durch GoToState Methode.

Editer : Ich habe gerade einen Artikel gefunden, in dem beschrieben wird, wie man eine benutzerdefinierte VSM die sich Kontrollzustände merkt.

0voto

Haritha Punkte 1438

Ich denke, Sie sollten GoToElementState Methode anstelle von GoToState Methode verwenden.

VisualStateManager.GoToElementState(LayoutRoot, "Add", true);

0voto

Lazarus Punkte 39998

Ich glaube, Sie haben den Punkt der WPF hier verpasst, es ist die Ansicht nicht das Modell. Sie sollten nicht den Zustand in der Ansicht speichern. Speichern Sie den Zustand in Ihrem Modell (en) und verwenden Sie die Ansicht, um es zu vertreten. Auf dieser Basis brauchen Sie nicht den Zustand der View zu lesen, Sie wissen es bereits.

Ich weiß, dass dies im Moment nach viel Arbeit aussieht, aber es wird sich später in hohem Maße auszahlen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X