Gewusst wie: ausblenden der Textfelder, labels und buttons, C#, WPF
Ich würde gerne ausblenden, mehrere Textfelder, eine Beschriftung und eine Schaltfläche, sobald ein button geklickt wird... aber aus irgendeinem Grund, mein code scheint nicht die Ursache dieser Wirkung. Nichts scheint zu passieren. Ich bin mit WPF.
Hier ist mein code:
private void doSomething_Click(object sender, RoutedEventArgs e)
{
Name.Visibility = Visibility.Hidden;
}
Dieser code scheint nicht zu funktionieren.. irgendwelche Ideen?
- was macht der code? etwas? nichts? Haben Sie versucht, die Sichtbarkeit.Zusammengebrochen? Können Sie bestätigen, dass Ihr code auch tatsächlich ausgeführt wird? - versuchen Sie, einen Haltepunkt oder einen Breakpoint.
- derzeit tut sich noch nichts. Ja, ich lege einen break-point, und ich trat hindurch. Es geht durch jede Zeile, aber es passiert nichts auf das Formular selbst =/ ich ausprobiert habe .Der zusammenbrach. Gleiche Problem...
- das sieht aus, als wenn es funktionieren sollte... machst du etwas besonderes in Ihrem xaml? Kannst du die xaml?
- sicher, ich habe meine XAML ... ich habe nicht direkt bearbeitet diesen code überhaupt noch..
- Nicht sicher, ob dies das Problem oder nicht, aber die control-Namen in deinem code scheinen nicht mit denen übereinstimmen, die in der xaml -
- oh, ich änderte den Namen, als ich gepostet das Beispiel .versteckt... aber in meinem code, den Sie sind eigentlich das gleiche .. =/ hmm ich kann nicht scheinen, um es herauszufinden.. ich kann Formen verschwinden und wieder erscheinen.. nur nicht die Textfelder..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein code scheint zu funktionieren, die "Signing in..." - label erscheint, nachdem alles andere verschwinden. Ich schlage vor, Sie kopieren Sie einfach den gesamten code aus dem .xaml.cs-Datei und der .xaml-Datei in ein neues Projekt, aber stellen Sie sicher, dass Sie nicht kopieren Sie die erste Zeile
"<Window x:Class="..."
denn es kann einen Fehler erzeugen, wenn der name der Klasse ist nicht das gleiche, in das neue Projekt.Für den xaml-code, ich schlage vor, Sie nicht das gleiche denken wie du das design von windows forms-Anwendungen. WPF hat das layout-system, neu orientiert oder neu-Größen seiner Elemente, wenn die re-Dimensionierung der Fenster. So sollten Sie nicht geben Sie genaue zahlen in der margin-Eigenschaft als, wenn Sie, wo-Koordinaten. Erstellen Sie ein raster erstellen Sie Zeilen oder Spalten für jedes element und dann einfach nur die horizontale oder vertikale Ausrichtung oder Ränder. Denken anders als die alten windows forms Weg.
Ich glaube
Visibility.Collapsed
ist, was Sie brauchen, und nichtVisibility.Hidden
.EDIT: Haben Sie versucht, diesen code mit
UpdateLayout()
- Methode der parent-element/Komponente?Ich habe deinen code... und es funktioniert Super für mich. Ich habe nichts geändert (außer dem Variablen-Namen) also ich denke, es ist ein Fehler von VS.
Wie gesagt nikolamm94 versuchen, hinzufügen
this.UpdateLayout();
am Endeconnect_Click
es helfen könnte. Ich habe versucht, und es funktioniert immer noch gut. Oder vielleicht erstellen Sie eine neue VS-projet, er arbeitete bereits für mich ein paar mal.Sorry, meine Antwort ist nicht die hilfreichste, ich wollte ein Kommentar anstelle, aber ich habe nicht genug Ruf :/
Blenden Sie ein Textfeld, indem Sie auf Eigenschaften->Erscheinungsbild->Sichtbarkeit, dann setzen Sie es auf "hidden"
Bitte: https://msdn.microsoft.com/en-us/library/ms748821(v=vs. 85).aspx
Auf Sichtbar gesetzt: tb1.Sichtbarkeit = System.Windows.Die Sichtbarkeit.Sichtbar;
Satz zu Verstecken: tb1.Sichtbarkeit = System.Windows.Die Sichtbarkeit.Hidden;