2017-09-12 8 views
0

J'ai un contrôle utilisateur personnalisé pour les polices FontAwesome utilisées sur l'application, et cela fonctionne correctement.Xamarin Forme - Utilisant ResourceDictionary style avec personnalisé UserControl

Je veux le style de la commande avec style dans le ResourceDictionary en App.xaml.

enter image description here

La page en utilisant le style est:

  <StackLayout x:Name="TopStack"> 
      <Grid VerticalOptions="FillAndExpand" BackgroundColor="#012c50" HeightRequest="200"> 
       <Image Source="{local:ImageResource AAAApp.Images.navbartop.png}" Aspect="AspectFill" /> 
       <userControls:FontAwesomeLabel Text="{x:Static userControls:Icon.FAUserCircle}" Style="{StaticResource SideMenuNameIcon}" /> 
       <userControls:FontAwesomeLabel Text="{x:Static userControls:Icon.FAChevronRight}" /> 
       <Label Text="Name Here" Style="{StaticResource SideMenuName}" /> 
       <Label Text="1234567891231" Style="{StaticResource SideMenuAccount}" /> 
      </Grid> 
     </StackLayout> 

S'il vous plaît notez que les styles fonctionnent correctement sur les étiquettes régulières - flèche verte.

Quand je lance l'application, je reçois l'erreur suivante:

enter image description here

Je figure le problème est avec le TargetType dans le style.

Cependant, j'ai essayé:

  • TargetType = "label">
  • TargetType = "Label.FontFamily"
  • TargetType = "FontFamily">
  • targetType = "usercontrols: FontAwesomeLabel ">
  • TargetType =" usercontrols ">
  • TargetType =" FontAwesomeLabel ">

Avec les mêmes résultats.

Le code UserControl est: enter image description here

Qu'est-ce que je manque?

Merci!

Répondre

0

Ajouté

Added xmlns:ctrls="clr-namespace:AAAApp.UserControls" to app.xaml and Change 

dans App.xaml et tenté de mettre TargetType à

TargetType="{x:Type ctrls:FontAwesomeLabel}" 

et environ 100 variations. Même problème.

fixer aussi faute de frappe - espace vide - en setter.