如何使用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元素?

如何使用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