Tengo un ListBox que muestra datos sobre empleados tales como nombre, foto del departamento, número de placa, etc. Los empleados pueden tener diferentes tipos, tales como Gerente, Personal, Voluntarios. Tengo 3 plantillas de datos separadas, una para cada tipo. Todas estas plantillas muestran básicamente los mismos datos, pero presentados de manera diferente.WPF - Parámetros para DataTemplates?
Dependiendo del usuario que haya iniciado sesión en las imágenes de la aplicación, el número de placa, etc., puede o no ser visible. Así que tengo propiedades booleanas para eso: CanSeePhotos, CanSeeBadgeNumbers, etc. Así que si CanSeePhotos == falso, todas las plantillas de datos deberían ocultar las fotos.
Mi pregunta es, ¿cómo puedo usar estas propiedades booleanas dentro de mis plantillas de datos para alternar la visibilidad de los elementos apropiados? ¿Hay alguna forma de pasar parámetros a las plantillas de datos cuando las devuelvo desde TemplateSelector?
Gracias!
edición: siguiendo la idea de Ray terminé haciendo esto:
Visibility="{Binding Source={x:Static local:Global.CanSeePhoto}, Converter={StaticResource BooleanToVisibilityConverter}}"
Si su CanSeeBadgeNumber no es una propiedad de los datos sino del entorno, es posible que deba agregar algo como Source = "{x: Static UserInfo.CurrentUser}" a su enlace. Esto es lo mismo ya sea que use desencadenadores o convertidores. –
Expresiones en enlaces XAML! He estado esperando eso durante mucho tiempo, realmente lo extraño en mis días Flex. Esperando verlo! – Grokys
Entonces, ¿alguna vez lo liberó? – BrainSlugs83