有没有办法修改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);
}
,但它并不像那样。如果有人能指出我执行此功能的方法,我真的很感激。
答案 0 :(得分:1)
TextBox
是UIElement
。当您从阅读器中加载XAML时,您可以在那个时间点将其投射到TextBox
;但是,既然你将它投射到UIElement
你可以在任何时间点去...
if (uie is TextBox)
{
TextBox tb = (TextBox)uie;
b.text = "New title";
}