如何修改UIElement的内容?

时间:2010-10-25 20:28:37

标签: wpf xaml textbox children

有没有办法修改UIElement的内容?

我有这样的事情:

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

当我运行调试器并将uie添加到“Watch”窗口时,它会给我以下内容:

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

现在我需要做两件事:(1)阅读文本框中的文本,(2)随时修改它。

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

,但它并不像那样。如果有人能指出我执行此功能的方法,我真的很感激。

1 个答案:

答案 0 :(得分:1)

TextBoxUIElement。当您从阅读器中加载XAML时,您可以在那个时间点将其投射到TextBox;但是,既然你将它投射到UIElement你可以在任何时间点去...

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