2010-12-17 14 views
22

Ich bin ziemlich neu in WPF und XAML verwenden. Ich bin wirklich frustriert, dass ich einen Teil von XAML nicht auswählen und in Visual Studio 2010 mit der Kommentarschaltfläche in der Symbolleiste auskommentieren kann, wenn der hervorgehobene Abschnitt bereits einige Kommentare enthält.Gibt es eine Möglichkeit, XAML mit Kommentaren zu kommentieren?

Andere Sprachen erlauben das Verschachteln von Kommentaren in Kommentaren ohne Probleme. Gibt es eine Möglichkeit, einen Kommentar in XAML mit Visual Studio 2010 zu kommentieren?

+0

In den alten C mit '/ ** /' - Stil Kommentare, sowie in alten Pascal mit '{}' (nicht sicher über die modernen Dialekte), waren verschachtelte Kommentare ein Problem. – Vlad

+0

Ich dachte mehr an die Kommentar-/Kommentar-Schaltflächen im Visual Studio. Du zeigst, ist aber gültig. – tmoltzan

+0

Ich habe nicht VS 2010, aber 2012 können Sie einfach HTML-Typ

Antwort

21

Nein, es gibt keine Möglichkeit, verschachtelte Kommentare in XAML zu haben.

Sie die mc verwenden:

<UserControl ... 
    mc:Ignorable="i"> 

    <!-- Ignore Text attribute --> 
    <TextBlock i:Text="Hello" /> 

    <!-- Ignore entire button --> 
    <i:Button> 
    </i:Button> 

</UserControl> 

Hinweis die mc dass Mischung setzt: Ignorable Attribut auf dem Root-Elemente, und jedes Attribut oder Element mit diesem Wert als Präfix wird zB ignoriert Ignorable Wert Attribute ' d ', also musst du zB verwenden mc: Ignorierbar = "d i"

Ich bin mir nicht sicher, warum Sie XAML-Inhalte so sehr kommentieren?

+3

Ich mache es nicht so oft, aber manchmal, wenn ich verschiedene Möglichkeiten tue, Dinge in Vorlagen zu tun, möchte ich keine Arbeitsvorlage löschen, um einen neuen Ansatz auszuprobieren. Ich stochere immer noch mit Vorlagen herum, nur um zu sehen, was ich tun kann. – tmoltzan

+1

Das funktioniert gut, außer für ResourceDictionary-Dateien. Sie scheinen diese Eigenschaft nicht zu haben. –

+1

* "Ich möchte keine Arbeitsvorlage löschen, um einen neuen Ansatz auszuprobieren" * - Das klingt, als ob Sie kein [SCM] (https://en.wikipedia.org/wiki/Software_configuration_management) verwenden. Unter vielen anderen Dingen ermöglicht ein SCM das Spielen, ohne die Dinge zu unterbrechen. – IInspectable

3

Es ist sehr bedauerlich, dass die Kommentarfunktion nicht schlauer ist, wenn es um einen Block geht, der bereits einige auskommentierte Zeilen in XML enthält.

Eine ziemlich schmerzlos Abhilfe für dieses Problem kann sein, reguläre Ausdrücke zu verwenden:

  • den Block der XAML-Code Wählen Sie einen Kommentar hinterlassen möchten.
  • Klicken Sie auf die Schaltfläche Kommentar von Visual Studio Werkzeugleiste
  • Ihr Kommentar gesetzt Textblock ausgewählt keeping:
    • Öffnen Sie das Suchen/Ersetzen-Dialogfeld (CTRL + SHIFT + H)
    • im Suchoptionen , aktivieren Sie das Kontrollkästchen "Normales Ausdruck verwenden".
    • Sicherstellen, dass das Kombinationsfeld "Suchen in:" mit "Auswahl" eingestellt ist.
    • In Ihrem "Suchen" Feld eingeben: \<\!\-\-(.*)\-\-\>
    • In Ihrem "Ersetzen" Feld eingeben: --><!--$1--><!--
    • Klicken Sie auf "Alle ersetzen", um

Dies wird wickelt jede kommentiert Linien innerhalb Ihres Blocks mit dem abschließenden Kommentar-Tag am Anfang und dem öffnenden Kommentar-Tag am Ende aus, um sicherzustellen, dass der Textblock vor diesem Kommentar gültig ist und der nachfolgende.

Um die Kommentare und kehren Sie zu Ihrem ursprünglichen Block von XAML, verwenden Sie den regulären Ausdruck zuerst, aber mit umgekehrter Logik zu entfernen:

  • Feld Suchen: \-\-\>\<!\-\-(.*)\-\-\>\<\!\-\-
  • Feld ersetzen: <!--$1-->

Klicken Sie anschließend in Visual Studio auf die Schaltfläche Uncomment, um den Block von XAML beizubehalten.

HINWEIS: Abhängig von der Version von Visual Studio, die Sie verwenden, kann die Syntax des regulären Ausdrucks variieren. Ich verwende VS 2012. Frühere Versionen würden die geschweiften Klammern '{}' verwenden, um einen Ausdruck und den umgekehrten Schrägstrich '\' zu isolieren, um ihn im Ersetzenfeld zu verwenden. Jetzt ist es die Klammer '()' und das Dollarzeichen '$'.

0

Es gibt keine Kommentierung/Auskommentierung Taste in Expression Blend, wenn Sie Ihren Code-Block zu kommentieren, versuchen möchten, können Sie geben Sie die folgenden Symbole in der Include beginnen und das Ende des Codeblocks manuell

<!-- your code comes here.. 
Next Line--> 

eine Beispielbildschirm Siehe unten

See a sample screenshot below

0

den Block Kommentar auswählen Hit cntrl-K, Steuer-c (die gleiche Abkürzung wie auf der C# Seite zur Kommentierung eines Codeblockes out). Der Designer verschiebt Ihre Kommentarmarkierungen, um den gesamten Block zu kommentieren.

cntrol-k, cntrol-u (Kode Uncomment) verschiebt die Dinge wieder zurück, so dass es wieder XAML-Code gibt. Dadurch werden alle Kommentarmarkierungen entfernt, sodass Sie die ursprünglichen Kommentare erneut kommentieren müssen.

es ist nicht perfekt, aber sie sind einfache Abkürzungen, die Sie wahrscheinlich schon kennen.

Verwandte Themen