我正在尝试从XElements生成XAML。
<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命名空间名称而不是前缀?
答案 0 :(得分:1)
我发现:
new XAttribute(XNamespace.Xmlns + "p", "http://schemas.microsoft.com/winfx/2006/xaml/presentation");