0

Windows Phone 7.5 以降のプロジェクト ターゲットに取り組んでいます。App.xaml でカラー リソースを定義し、それをグローバル リソースとして使用します。コードビハインドで使用すると、エラーが発生します。

XAML のリソース:

<SolidColorBrush x:Key="BackgroundColor" Color="#FFF6F6F6"/>

C# での呼び出し

    private void BuildApplicationBar()
    {
        ApplicationBar = new ApplicationBar();
        ApplicationBar.BackgroundColor = (Color)Application.Current.Resources["BackgroundColor"];
    }

リソースをキャストしようとするとエラーが発生します: [Arg_InvalidCastException]

引数: リソース文字列のデバッグは利用できません。多くの場合、キーと引数は、問題を診断するのに十分な情報を提供します。http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.50829.0&File=mscorlib.dll&Key=Arg_InvalidCastExceptionを参照して ください。

それを解決する理由と方法、AppBar の bgcolor のタイプが Color であることを確認しましたが、キャストを行うとどうなりますか?

4

1 に答える 1

1

リソースを として宣言してBrushいますが、 にキャストしていますColor。それはおそらくうまくいきません。

代わりにこれを試してください:

private void BuildApplicationBar()
{
    ApplicationBar = new ApplicationBar();
    ApplicationBar.BackgroundColor = ((SolidColorBrush)Application.Current.Resources["BackgroundColor"]).Color;
}
于 2013-05-22T13:21:03.523 に答える