J'ai un ListBox montrant des données sur des employés tels que le nom, la photo de département, le nombre de badge, etc. Les employés peuvent avoir différents types tels que le directeur, le personnel, les volontaires. J'ai 3 modèles de données séparés - un pour chaque type. Tous ces modèles montrent essentiellement les mêmes données mais présentés différemment.WPF - Paramètres de DataTemplates?
Selon l'utilisateur connecté aux images de l'application, le numéro de badge, etc., peut ou non être visible. Donc, j'ai des propriétés booléennes pour cela - CanSeePhotos, CanSeeBadgeNumbers, etc. Donc, si CanSeePhotos == false, tous les modèles de données doivent cacher les photos.
Ma question est, comment puis-je utiliser ces propriétés booléennes dans mes modèles de données pour basculer la visibilité des éléments appropriés? Est-il possible de transmettre des paramètres aux modèles de données lorsque je les renvoie depuis mon TemplateSelector?
Merci!
modifier: après l'idée de Ray, je fini par faire ceci:
Visibility="{Binding Source={x:Static local:Global.CanSeePhoto}, Converter={StaticResource BooleanToVisibilityConverter}}"
Si votre CanSeeBadgeNumber n'est pas une propriété des données mais de l'environnement, vous devrez peut-être ajouter quelque chose comme Source = "{x: Static UserInfo.CurrentUser}" à votre liaison. C'est la même chose que vous utilisiez des déclencheurs ou des convertisseurs. –
Expressions dans les liaisons XAML! Cela fait longtemps que j'attends ça - ça me manque vraiment depuis mes Flex Days. Au plaisir de le voir! – Grokys
Alors, l'avez-vous déjà sorti? – BrainSlugs83