Bonjour,
J'aimerais ajouter de manière dynamique un trigger sur chacune des TextBox de mon formulaire binder dynamiquement à une variable  afin que le fond deviennent rouge si la valeur qu'elle contient dépasse une limite.
Code :
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   |  
  TextBox l_OutputElement  = (TextBox)FindName(p_ElementToBind);
  Binding l_BindingTrigger    = new Binding();
  l_BindingTrigger.Mode       = BindingMode.OneWay;
  l_BindingTrigger.Source     = l_OutputVariable ;
  l_BindingTrigger.Path        = new PropertyPath("BeyondMaximum");
 
  DataTrigger l_ErrorTrigger  = new DataTrigger();
  l_ErrorTrigger.Binding        = l_BindingTrigger;
  l_ErrorTrigger.Value         = true;
 
  l_ErrorTrigger.Setters.Add(new Setter()
  {
      Property = TextBox.BackgroundProperty,
      Value = ColorConverter.ConvertFromString("Red")
   });
 
 
 l_OutputElement.Style = new Style(typeof(TextBox));
 l_OutputElement.Style.Triggers.Add(l_ErrorTrigger); | 
 Seulement au moment de faire :
	
	l_OutputElement.Style.Triggers.Add(l_ErrorTrigger);
 Une exception est levée. En cherchant dans les sous classes j'ai trouvé que l'exception correspond à : 
	
		
			
			
				After a 'TriggerCollection' is in use (sealed), it cannot be modified.
			
		
 
	 
 Comment faire pour déscellé la collection ou pour pouvoir ajouter un trigger dynamiquement ?
Merci
						
					
Partager