J'ai ma propre classe TextBox2 dérivée de TextBox. Je veux ajouter un état appelé TextBlock et je veux que VisualStateManager passe à cet état lorsque la propriété propriété/dépendance IsTextBlock est true. Lorsque cela est vrai, je veux changer le style de la zone de texte pour être en lecture seule et ressembler à un TextBlock mais être capable de sélectionner le texte à copier. Est-ce possible? Y a-t-il un meilleur moyen?Comment puis-je ajouter un état à un contrôle dans Silverlight?
2
A
Répondre
2
Quelque chose comme ça:
[TemplateVisualState(Name = "TextBlock", GroupName = "ControlType")]
[TemplateVisualState(Name = "TextBox", GroupName = "ControlType")]
public class TextBox2 : TextBox
{
public TextBox2()
{
DefaultStyleKey = typeof (TextBox2);
Loaded += (s, e) => UpdateVisualState(false);
}
private bool isTextBlock;
public bool IsTextBlock
{
get { return isTextBlock; }
set
{
isTextBlock = value;
UpdateVisualState(true);
}
}
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
UpdateVisualState(false);
}
internal void UpdateVisualState(bool useTransitions)
{
if (IsTextBlock)
{
VisualStateManager.GoToState(this, "TextBlock" , useTransitions);
}
else
{
VisualStateManager.GoToState(this, "TextBox" , useTransitions);
}
}
}
HTH
Questions connexes
- 1. Ajouter dynamiquement une bordure pulsée à un contrôle Silverlight
- 2. Liaison à un autre contrôle dans Silverlight
- 3. Cloner un contrôle dans Silverlight
- 4. Comment ajouter manuellement des données à un DataGrid dans Silverlight
- 5. Comment ajouter un bouton de fermeture à ValidationSummary dans Silverlight
- 6. Ajouter un contrôle ActiveX à un JPanel
- 7. Ajouter un contrôle ASP.NET à Sharepoint WebPart
- 8. Html/Javascript: Ajouter un attribut à un contrôle HTML
- 9. C#: Comment ajouter une info-bulle à un contrôle?
- 10. ASP.NET Comment ajouter une fonction javascript à un contrôle?
- 11. Comment ajouter un tabitem à un tabcontrol silverlight dans le code
- 12. Ajouter un contrôle à l'en-tête de page dans ASP.NET
- 13. contrôle ExecCommand état createlink
- 14. Comment ajouter différentes valeurs à un contrôle Ajax Slider?
- 15. Comment trouver les dates affichées dans un contrôle Silverlight Calendar?
- 16. Comment ajouter une référence CSS dans un contrôle serveur?
- 17. Comment capturer un état de session
- 18. Comment ouvrir un fichier zip sur un CD à partir du contrôle Silverlight dans Silverlight 2.0 Application?
- 19. Comment ajouter une animation de storyboard XAML à un contrôle personnalisé WPF complet dans un XBAP?
- 20. Comment ajouter un curseur personnalisé pour un contrôle ASP.NET?
- 21. Comment empêcher un service WCF d'entrer dans un état défectueux?
- 22. Silverlight Liaison de données d'un contrôle à un autre
- 23. Créer un contrôle Silverlight DatePicker par programmation
- 24. Ajouter un contrôle utilisateur à une fenêtre wpf
- 25. Comment ajouter un nombre à un Sqlcommand.Parameters?
- 26. Comment ajouter un menu contextuel aux éléments de l'arborescence Silverlight?
- 27. Comment ajouter un CGImageRef à un NSDictionary?
- 28. Comment puis-je épingler un contrôle sous un autre dans Silverlight?
- 29. Attacher un événement à un contrôle
- 30. WPF: ajouter un contrôle usager à une fenêtre