2016-05-27 8 views
0

からグローバルリソースに色を追加Xamarinフォーム - 私は(app.xamlに)グローバルリソースでこの色を使用したコード

 <Color x:Key="MyColor" x:FactoryMethod="FromHex"> 
      <x:Arguments> 
       <x:String>#ffffff</x:String> 
      </x:Arguments> 
     </Color> 

私は、AndroidとWindows Phone用の異なる色を必要とします。私はこのコードを試しました:

 <Color x:Key="MyColor" x:FactoryMethod="FromHex"> 
      <x:Arguments> 
       <OnPlatform x:TypeArguments="x:String" 
           Android="#006ABB" 
           WindowsPhone="#ffffff" /> 
       <x:String></x:String> 
      </x:Arguments> 
     </Color> 

しかし、動作しません。私に教えてください - コードの後ろにそれを追加する方法。出来ますか?

答えて

1

App.xamlで行うことができ、コードに行く必要はありません。単に少し異なるアプローチが必要です。ここでは、コード

<Application.Resources> 
    <ResourceDictionary> 
     <OnPlatform 
     x:Key="MyColor" 
     x:TypeArguments="Color" 
     Android="#006ABB" 
     iOS="#006A00" 
     WinPhone="#ffffff"/> 
    </ResourceDictionary> 
    </Application.Resources> 

これは、作品OnPlatformジェネリッククラスは、そのインバウンドジェネリックTクラスに各OnPlatformオブジェクトに変換することができます定義された暗黙の会話演算子を持っているためである理由です。このようなもの

+0

これは動作しません。私はSystem.Reflection.TargetInvocationExceptionを取得します – FetFrumos

+0

これは問題ではないため、あなたのアプリに他の問題があります。出力から例外の詳細を投稿できますか? – kyurkchyan

+0

仕事です。私のコードに問題がありました。ありがとうございます。 – FetFrumos

関連する問題