9

アプリケーションを WPF から Silverlight に変換すると、Visual Studio は XAML ファイルの 1 つで奇妙なコンパイラ エラーを示しています。

エラー 11 マークアップ拡張の終了後に予期しないトークンが発生しました。

どの行がエラーを引き起こしているかについての兆候はありませんが、問題のあるコードは次のようです:

<DataTemplate x:Key="ToolTipTemplate">
    <StackPanel Orientation="Horizontal">
        <TextBlock 
            Text="{Binding DataPoint.DataItem.Date,StringFormat={}{0:MM/dd/yyyy}}" 
            Foreground="{StaticResource ResourceKey=OtherColor}" />
        <TextBlock 
            Text="{Binding DataPoint.DataItem.Price,StringFormat={}{0:0.00#}}"  
            Foreground="{StaticResource ResourceKey=OtherColor}"/>
    </StackPanel>
</DataTemplate>

このエラーの原因は何ですか?

4

1 に答える 1

21

問題はStringFormat値です。WPF は値が単一引用符で囲まれていないことを許容できますが、Silverlight では許容できないようです。

これを変更する:

<TextBlock Text="{Binding DataPoint.DataItem.Price,StringFormat={}{0:0.00#}}" />

これに:

<TextBlock Text="{Binding DataPoint.DataItem.Price,StringFormat='{}{0:0.00#}'}" />
                                                                ^           ^

エラーを削除します。

これは、WPF から Silverlight への変換の危険性として書き留めておいてください。

于 2013-07-25T17:26:54.933 に答える