J'ai une liste d'objets que je lie à l'écran. L'une des propriétés est isPurchased. C'est un type booléen.Comment implémenter un convertisseur
Je n'ai pas beaucoup d'expérience avec les convertisseurs, donc je trouve cela un peu difficile. J'ai 2 questions.
La première question concerne la syntaxe. J'ai copié cet exemple de here.
public class purchasedConverter : IValueConverter
{
public object Convert(inAppPurchases value, Type targetType, object parameter, string language)
{
return;
}
}
Si le isPurchased == true
j'aimerais définir la couleur de fond à mon StackPanel à une couleur différente. J'ai changé object value
en inAppPurchases value
sur la méthode Convert. Cependant, peu importe ce que j'ai essayé je ne pouvais pas obtenir une référence à un arrière-plan.
Je pense que je veux return Background="somecolor"
Ma 2ème question (en supposant que je peux faire la 1ère partie), est que je utilise StandardStyles.xaml qui vient avec les projets Microsoft WinRT donc mon convertisseur aurait-il exister.
<StackPanel Grid.Column="1" VerticalAlignment="Top"
Background="CornflowerBlue" Orientation="Vertical" Height="130"
Margin="0,0,5,0"/>
Cependant, comme je l'ai dit que je l'ai essayé cela avant, mais je ne suis pas en mesure de comprendre comment ajouter le convertir à mon dossier XAML. Où devrais-je référencer le convertisseur? Est-ce sur le StandardStyls.xaml ou le .xaml principal que je regarde?
Toute aide est appréciée.
Vous savez que vous vous posez des questions sur une [liaison de données] convertisseur] (http://msdn.microsoft.com/en-us/library/system.windows.data.binding.converter.aspx)? – Clemens
J'essaie juste de me familiariser avec les convertisseurs. Je ne savais pas que je demandais un convertisseur de liaison de données. Avez-vous des références entre les différents types? – webdad3
Dans le convertisseur, vous transtypiez le paramètre "object value" transmis au type réel de l'objet binding * source * et renvoyez un objet pouvant être affecté au type binding * target *. Mais tout cela n'a de sens que si vous avez réellement un lien quelque part. – Clemens