Поделиться через


Встроенный тип XAML x:Code

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

Использование элемента объекта XAML

<x:Code>
   // code instructions, usually enclosed by CDATA...
</x:Code>

Замечания

Код в элементе директивы XAML по-прежнему интерпретируется в x:Code общем пространстве имен XML и предоставленных пространствах имен XAML. Поэтому обычно необходимо заключить код, используемый для x:Code сегмента CDATA .

x:Code не допускается для всех возможных механизмов развертывания рабочей среды XAML. В определенных платформах (например, WPF) код должен быть скомпилирован. В других платформах x:Code использование обычно может быть запрещено.

Для платформ, разрешающих управляемое x:Code содержимое, правильный компилятор языка, используемый для x:Code содержимого, определяется параметрами и целевыми объектами содержащего проекта, который используется для компиляции приложения.

Заметки об использовании WPF

Код, объявленный в x:Code WPF, имеет несколько важных ограничений:

  • Элемент x:Code директивы должен быть непосредственным дочерним элементом корневого элемента рабочей среды XAML.

  • Директива x:Class должна быть указана в родительском корневом элементе.

  • Код, размещенный внутриx:Code, будет обрабатываться компиляцией, чтобы находиться в область частичного класса, который уже создан для этой страницы XAML. Поэтому все определенные коды должны быть элементами или переменными этого частичного класса.

  • Нельзя определить дополнительные классы, отличные от вложенных классов внутри частичного класса (допускается вложение, но это не обычно, так как вложенные классы нельзя ссылаться на XAML). Пространства имен СРЕДЫ CLR, отличные от пространства имен, используемого для существующего частичного класса, нельзя определить или добавить в.

  • Ссылки на сущности кода за пределами пространства имен CLR частичного класса должны быть полностью квалифицированы. Если объявленные члены переопределяются в переопределимые члены частичного класса, это необходимо указать с помощью переопределения языка ключевое слово. Если члены, объявленные в x:Code область конфликтуют с членами частичного класса, созданного из XAML, таким образом, чтобы компилятор сообщал о конфликте, файл XAML не может компилировать или загружать его.

См. также