2

ドイツ語のウムラウトを含む xaml を取得しました (以下を参照)。これを解析しようとすると、invalidchar エラーが発生します。

XamlParser Context を使用しない場合は機能します。しかし、いくつかの型マッピングを設定するためにそれを使用する必要があります


XAML:

<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>

それを解析するコード

 var context = new ParserContext();
 var result = System.Windows.Markup.XamlReader.Parse(xaml,context);

エンコーディングのヒント (.net String UTF-16) を設定するものが見つかりません。何が間違っていますか?

また、XmlParserContext でエンコーディングを挿入しようとしました。

    var xmlcontext = new XmlParserContext(null, null, null, XmlSpace.Preserve,
                                          Encoding.Unicode);

    var context = new ParserContext(xmlcontext);

しかし、それは役に立ちませんでした:-(

私は何をする必要がありますか?ある種の XAML エンコーディングはありますか?

4

1 に答える 1

5

私自身の質問に答えて、大丈夫だと思います。

私にとって役に立ったのは、

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

方法。

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

このメソッドは、文字列変数のエンコーディングを尊重しているようです。

これが Static ParseMethod で機能しない理由はまだわかりません。しかし、この解決策が他の誰かの安全な時間に役立つことを願っています:-)

于 2013-02-26T07:28:19.673 に答える