Ich habe einige Code in C# WPF geschrieben, und ich habe einige Code zum Debuggen, die ich derzeit kompilieren auf oder aus für Debug oder Release-Modus. Wie kann ich aktivieren oder deaktivieren UI-Steuerelemente, die derzeit in meinem XAML basierend auf C#-Präprozessor-Definitionen geschrieben werden?
Antworten
Zu viele Anzeigen?Für XAML gibt es keine präprozessorähnlichen Direktiven. Sie können jedoch XAML-Dateien auf der Grundlage der Build-Konfiguration ein- und ausschließen, wodurch Sie eine gewisse Kontrolle haben. Auf diese Weise könnten Sie je nach der gewählten Build-Konfiguration verschiedene Varianten einer Datei einschließen. Der Nachteil ist natürlich, dass Sie mehrere Versionen einer Datei verwalten müssten. Dies könnte durch die Verwendung von T4-Vorlagen so dass die verschiedenen Dateien entsprechend der gewählten Konfiguration automatisch erzeugt werden.
Es gibt zwei Möglichkeiten, dies zu tun. Die eine ist die Verwendung der Präprozessor-Direktiven, die ganze Codeabschnitte maskieren können, die nur in einem bestimmten Build ausgeführt werden. Oder Sie können das bedingte Attribut verwenden, um auf einfache Weise eine vollständige Methode auszublenden. http://www.csharpfriends.com/Articles/getArticle.aspx?articleID=420
Hier ist eine Beschreibung des Unterschieds zwischen den beiden: http://www.thinkfarahead.com/2007/09/if-debug-vs-conditional.html . Sie können in Ihrem Code auf die Steuerelemente verweisen, indem Sie ein x:Name-Attribut in xaml bereitstellen und den Code zum Deaktivieren der Steuerelemente in den bedingten Abschnitt Ihres Codes einfügen.
Aktualisiert: um das Attribut x:Name deutlicher zu machen.