Ich verwende Caliburn.Micro in einem WPF-Projekt mit C#.Wie bekomme ich TextBlock vom View und manipuliere es im ViewModel?
Ich wollte einen Weg, wie in Android, um einen "TextBlock" in einer XAML-Ansicht durch seine "ID" zu finden, so dass ich seine Eigenschaften manipulieren kann.
Ich dachte an so etwas wie dies zu tun, aber für C#:
TextBlock textblock = (TextBlock) myView.findViewById(R.id.myTextBlock);
so kann ich zusammenbrechen und wieder sichtbar machen.
<TextBlock x:Name="MyTextBlockId"
Text="Incorrect user credentials. Forgot password, click here"
Visibility="Collapsed"/>
Von welcher Klasse versuchen Sie den Textblock zu manipulieren? – Eric
Es ist eine Login-Seite. Bei einem gescheiterten Versuch würde ich also einen TextBlock "unkenntlich machen", der sagen würde, Passwort vergessen, klicken Sie hier. Ich würde dies innerhalb des ViewModels tun. – Daniel
Sie sollten keine Steuermanipulationen innerhalb des Viewmodels durchführen. Die Ansicht sollte das Viewmodel kennen. Nicht umgekehrt. Wenn Sie beispielsweise eine boolesche Eigenschaft namens IsBadLogin hätten, könnten Sie die Sichtbarkeit des TextBlocks an diese Eigenschaft binden und einen BooleanToVisibilityConverter verwenden. – Eric