2010-10-25 3 views
0

Existe-t-il un moyen de modifier le contenu d'un UIElement?Comment puis-je modifier le contenu d'un UIElement?

J'ai quelque chose comme ceci:

System.IO.FileStream rdr = System.IO.File.OpenRead(xamlFilePath); 
System.Windows.UIElement uie = (System.Windows.UIElement)System.Windows.Markup.XamlReader.Load(rdr); 

Et quand je lance le débogueur et ajouter IUE à la fenêtre « Watch », il me donne ce qui suit:

[-]uie 
[-]System.Windows.Controls.Textbox   {System.Windows.Controls.Textbox:Title} 
<some stuff...> 
Text          "Title" 

Maintenant je dois être capable de faire deux choses: (1) lire le texte dans la zone de texte, et (2) le modifier quand je veux.

I was hoping for something in the lines of: 
{ 
Textbox tb = (Textbox)uie.GetChild(); 
tb.Text = "New Title" 
uie.SetChild(tb); 
} 

, mais cela ne fonctionne pas comme ça. Si quelqu'un peut me diriger vers la méthode qui remplit cette fonction, je l'apprécierais vraiment.

+0

Veuillez fournir le contenu de votre fichier XAML. – Athari

Répondre

1

TextBox est un UIElement. Lorsque vous chargez le XAML hors du lecteur, vous pouvez le convertir en un TextBox à ce moment-là; cependant, puisque vous le lancez sur un UIElement vous pouvez à tout moment aller ...

if (uie is TextBox) 
{ 
    TextBox tb = (TextBox)uie; 
    b.text = "New title"; 
} 
+0

Merci beaucoup; Ça marche! – SoftwareGuy

Questions connexes