2011-08-07 2 views
7

J'ai un thats convertisseur fonctionne très bien quand je l'utilise comme StaticResource sur ma fenêtre comme suitcomment utiliser un convertisseur dans un ResourceDictionary

<UserControl.Resources> 
      <local:ValidationErrorConverter x:Key="validationErrorConverter"/>  
</UserControl.Resources> 

J'ai un ResourceDictionary qui définit mes contrôles ControlTemplates et styles, je ne pourrais pas « t savoir où référence mon convertisseur comme StaticResource pour pouvoir l'utiliser sur mes styles comme suit

<Style.Triggers> 
     <Trigger Property="Validation.HasError" Value="true"> 
      <Setter Property="ToolTip" Value="{Binding 
RelativeSource={RelativeSource Self}, 
Path=(Validation.Errors).CurrentItem, 
Converter={StaticResource HERE??}}"/> 
     </Trigger> 
    </Style.Triggers> 

Répondre

12

il suffit de créer un nouveau, si le convertisseur est nécessaire pour un style il suffit d'utiliser Style.Resources pour elle. Ou vous pouvez utiliser la syntaxe de l'élément:

<Setter.Value> 
    <Binding Path="(Validation.Errors).CurrentItem" 
      RelativeSource="{RelativeSource Self}"> 
     <Binding.Converter> 
      <local:ValidationErrorConverter /> 
     </Binding.Converter> 
    </Binding> 
</Setter.Value> 
+0

oui, mais je dois le faire alors sur tous les styles de contrôle, je veux le mettre une fois et d'appliquer à tous les contrôles, si je dois les répéter o le ResourceDictionary, je pouvais il suffit de le faire comme je l'ai déclaré sur le code que dans ma question post – Musaab

+0

@Musaab: Si vous placez quelque chose dans le 'Application.Resources' dans le' App.xaml' vous pouvez le référencer de partout en utilisant StaticResource, peut-être que cela aide, non Je suis sûr de ce que vous voulez dire ... –

+0

Je place le ResourceDictionary dans mon App.Resources, pour agir comme ma DynamicResource. si je place aussi à l'intérieur de App.Resources une exception est survenue, je vais éditer ma question pour mieux l'expliquer – Musaab

Questions connexes