Как управлять префиксами пространств имен в XML-документе, сгенерированном XAML - сгенерированным XAML с расширением разметки x:Type

Я пытаюсь сгенерировать XAML из XElements.

<Style xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
  <Style.BasedOn>
    <StaticResource> 
      <StaticResource.ResourceKey>
        <Type xmlns="http://schemas.microsoft.com/winfx/2006/xaml">
          <Type.TypeName>p:Window</Type.TypeName> 
        </Type>
      </StaticResource.ResourceKey>
    </StaticResource>
  </Style.BasedOn>
  ...
</Style>

Тем не менее, у меня есть проблемы с x:Type расширение разметки. Не удается разрешить префикс p:, потому что я не знаю, как заставить выходной XAML префикс карты p в пространство имен http://schemas.microsoft.com/winfx/2006/xaml/presentation,

Есть ли способ контролировать, как будут генерироваться префиксы пространств имен XML? Или это можно заставить x:Type расширение разметки, чтобы взять имя пространства имен XML вместо префикса?

1 ответ

Решение

Я нашел это:

new XAttribute(XNamespace.Xmlns + "p", "http://schemas.microsoft.com/winfx/2006/xaml/presentation"); 
Другие вопросы по тегам