如何使用C#获得xaml元素
本文关键字:xaml 元素 获得 何使用 | 更新日期: 2023-09-27 18:29:40
我有一个xaml页面samplePage.xaml
及其相应的.cs文件samplePage.xaml.cs
。此页面中有一个文本框textBox1
。现在我创建一个页面实例:
PhoneApp1.samplePage s = new PhoneApp1.samplePage();
然后,我想通过调用来设置文本框中的值
s.textBox1.Text = "whatever"
但事实证明有一条错误消息说
"PhoneApp1.samplePage"不包含"textBox1"的定义并且没有接受类型为的第一个参数的扩展方法"textBox1"找不到PhoneApp1.samplePage"(是否缺少正在使用的指令还是程序集引用?)
我想知道如何使用C#代码获得xaml元素?
您的文本框可能是私有的或受保护的。在页面中添加一个包装来暴露文本框,类似于:
public TextBox TextBox1
{
get
{
return this.textBox1;
}
}
(请注意)
然后只需从任何位置使用属性:s.TextBox1.Text = "whatever";
好问题,你需要使用XamlReader。在运行时加载页面/控件,然后你就可以访问其中的控件:
http://msdn.microsoft.com/en-us/library/cc189076(v=vs.95).aspx#using_xamlreaderload
http://blogs.silverlight.net/blogs/msnow/archive/2008/10/09/silverlight-tip-of-the-day-60-how-to-load-a-control-straight-from-xaml.aspx