首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XamlReader和Umlauts

XamlReader和Umlauts
EN

Stack Overflow用户
提问于 2013-02-25 13:20:41
回答 1查看 1K关注 0票数 2

现在我得到了一个带有德语umlaut (s. )的xaml,当我试图解析它时,我会得到一个无效字符错误。

当我不使用XamlParser上下文时,它可以工作。但是我必须使用它来设置一些类型映射。

XAML:

代码语言:javascript
复制
<UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:test="clr-namespace:BR.UI.Tests.Items;assembly=BR.UI.ViewLocator.Tests"
    mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300">
    <UserControl.DataContext>
        <test:SampleViewModel />
    </UserControl.DataContext>
    <Grid>
        <Label>ö</Label>
    </Grid>
</UserControl>

解析它的代码

代码语言:javascript
复制
 var context = new ParserContext();
 var result = System.Windows.Markup.XamlReader.Parse(xaml,context);

我找不到任何东西来设置编码提示(这将是.net字符串UTF-16),我做错了什么?

我还尝试用XmlParserContext注入编码。

代码语言:javascript
复制
    var xmlcontext = new XmlParserContext(null, null, null, XmlSpace.Preserve,
                                          Encoding.Unicode);

    var context = new ParserContext(xmlcontext);

但没什么用:-

我该怎么办?有什么XAML编码吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-26 07:28:19

回答我自己的问题,希望这样可以。

对我有帮助的是用

System.Windows.Markup.XamlReader.Load(stream,XamlParserContext)

方法。

s. http://msdn.microsoft.com/de-de/library/ms590388.aspx

此方法似乎尊重字符串变量的编码。

我仍然不明白为什么静态ParseMethod不能工作。但我希望这个解决方案能帮助其他人获得安全的时间:-)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15067969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档