Je possède un DataGrid Silverlight qui contient un RowDetailsTemplate. RowDetailsTemplate contient un TabControl avec plusieurs TabItems. Le DataGrid sera lié avec des éléments de type Contact. Contact a une propriété appelée ContactType. J'aimerais que plusieurs TabItems soient cachés lorsque ContactType est Client. Idéalement, je voudrais le faire par DataBinding mais je n'ai pas encore trouvé de le faire.Modification de la visibilité des contrôles enfants dans RowDetailsTemplate en fonction de la propriété DataContext
2
A
Répondre
1
Liez le TabItem.Visibility dans le RowDetailTemplate au ContactType en utilisant un convertisseur de valeur qui convertit ContactType à Visibilité. Vous devez ajouter ContactTypeConverter à l'application ou à la page en tant que ressource.
<TabItem
Visibility="{Binding ContactType, Converter={StaticResource ContactTypeConverter}}"/>
namespace Demo
{
using System;
using System.Windows;
using System.Windows.Data;
public enum ContactType
{
Client
};
/// <summary>
/// A Value converter
/// </summary>
public class ContactTypeConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var contactType = (ContactType) value;
switch (contactType)
{
case ContactType.Client:
return Visibility.Visible;
default:
return Visibility.Collapsed;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
return DependencyProperty.UnsetValue;
}
#endregion
}
}
Questions connexes
- 1. Lier StackPanel.Visibilité à la propriété Visibility de ses enfants
- 2. silverlight: définition des contrôles RowDetailsTemplate à partir de RowDetailsVisibilityChanged
- 3. Visibilité de la spécialisation de modèle de la fonction C++
- 4. UITableView modification de la propriété?
- 5. Modifier la visibilité des données de rapport en fonction du format de rendu dans Reporting Services
- 6. Changer l'animation en fonction de la valeur de la propriété
- 7. Erreur d'analyseur lors de la tentative d'envelopper les contrôles enfants
- 8. FrameworkElements conditionnel en fonction de DataContext
- 9. XSD - Éléments enfants en fonction de la valeur d'attribut
- 10. Modification de la propriété/autorisations d'un sémaphore
- 11. GUI: Modification des panneaux en fonction de la valeur de la zone de liste déroulante
- 12. Modification de la couleur du lien en fonction de la fonction de feuille de style
- 13. Utilisation de la propriété d'ancrage avec des contrôles ajoutés dynamiquement
- 14. Comment modifier la taille des contrôles enfants dans un contrôle composite dans Winforms?
- 15. Comment détecter si la souris est à l'intérieur de la forme entière et des contrôles enfants?
- 16. Afficher l'icône en fonction de la propriété de page
- 17. Modification par programme de la propriété d'identifiant de UIBarButtonItem
- 18. Dessiner l'image au-dessus des contrôles enfants
- 19. Comment empêcher un contrôle Web de charger des contrôles enfants?
- 20. Silverlight contrôles personnalisés de l'utilisateur et la propriété Dépendance d'émission
- 21. La modification des locales en Python
- 22. Modification de la propriété C# stop à l'exécution
- 23. Modification dynamique de la grille en fonction de la saisie de la valeur dans une zone de texte
- 24. Modification d'une propriété en une méthode - des effets secondaires?
- 25. La visibilité des objets sur les threads
- 26. Modification de la propriété DependencyProperty que je lie à l'exécution
- 27. Comment mettre en cache des instances distinctes de contrôle de l'utilisateur en fonction d'une valeur de la propriété
- 28. Comment détecter une modification dans la propriété Text d'un TextBlock?
- 29. Comment modifier la visibilité de la première ligne dans datagridview
- 30. comment permuter la visibilité des applications en utilisant C#