Есть ли способ закомментировать XAML, который содержит комментарии? - PullRequest
25 голосов
/ 18 декабря 2010

Я довольно новичок в WPF и использую XAML. Я очень расстроен тем, что не могу выбрать кусок XAML и закомментировать его в Visual Studio 2010, используя кнопку комментария на панели инструментов, если выделенный раздел уже содержит некоторые комментарии.

Другие языки позволяют размещать комментарии внутри комментариев без проблем. Можно ли закомментировать комментарий в XAML с помощью Visual Studio 2010?

Ответы [ 4 ]

24 голосов
/ 18 декабря 2010

Нет, вложенных комментариев в XAML нет.

Вы можете использовать атрибут mc: Ignorable в корневом элементе, и любой атрибут или элемент с префиксом этого значения будут игнорироваться E.g:

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

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

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

</UserControl>

Обратите внимание, что blend устанавливает значение атрибута mc: Ignorable в значение "d", поэтому вам необходимо использовать, например, mc: Ignorable = "d i"

Я не уверен, почему вы так много комментируете контент XAML?

5 голосов
/ 09 октября 2013

Очень жаль, что функция комментариев не умнее этого, когда дело доходит до блока, который уже содержит некоторые закомментированные строки в XML.

Довольно безболезненным решением этой проблемы может быть использование регулярных выражений:

  • Выберите блок кода XAML, который вы хотите закомментировать.
  • Нажмите кнопку комментария на панели инструментов Visual Studio
  • Сохранение выбранного вами закомментированного блока текста:
    • Открыть диалоговое окно «Найти / заменить» (CTRL + SHIFT + H)
    • В опциях поиска выберите «Использовать обычный выражение "флажок.
    • Убедитесь, что поле со списком «Искать в:» установлено с «Выбор».
    • В поле «Найти» введите: \<\!\-\-(.*)\-\-\>
    • В поле «Заменить» введите: --><!--$1--><!--
    • Нажмите кнопку «Заменить все»

Это обернет все закомментированные строки в вашем блоке с закрывающим тегом комментария в начале и открывающим тегом комментария в конце, гарантируя, что блок текста, предшествующий этому комментарию, действителен, а следующий за ним тоже. *

Чтобы удалить комментарии и вернуться к исходному блоку XAML, сначала используйте регулярное выражение, но с обратной логикой:

  • Поле поиска: \-\-\>\<!\-\-(.*)\-\-\>\<\!\-\-
  • Заменить поле: <!--$1-->

Затем, держа выбранный блок XAML, нажмите кнопку «Раскомментировать» из Visual Studio.

ПРИМЕЧАНИЕ: В зависимости от используемой версии Visual Studio синтаксис регулярного выражения может различаться. Я использую VS 2012. Предыдущие версии использовали фигурные скобки «{}» для изоляции выражения и обратную косую черту «\», чтобы использовать его обратно в поле замены. Теперь это круглые скобки '()' и знак доллара '$' соответственно.

1 голос
/ 13 мая 2016

Выберите блок комментария. Нажмите cntrl-K, control-c (тот же ярлык, что и на стороне C # для комментирования блока кода).Дизайнер сместит ваши маркеры комментариев, чтобы прокомментировать весь блок.

cntrol-k, cntrol-u (Kode Uncomment) отменит все, чтобы снова сделать его живым кодом XAML.Это удалит все пометки комментариев, поэтому вам придется повторно комментировать исходные комментарии.

это не идеально, но это простые ярлыки, которые вы, вероятно, уже знаете.

0 голосов
/ 30 сентября 2014

В смеси выражений нет кнопки комментирования / раскомментирования, если вы хотите попробовать закомментировать свой блок кода, вы можете ввести следующие символы в начале и конце блока кода вручную

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

См. Пример скриншота ниже

See a sample screenshot below

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...