Как вы можете получить элемент xaml, используя C #? - PullRequest
1 голос
/ 31 марта 2012

У меня есть страница xaml samplePage.xaml и соответствующий ей файл .cs samplePage.xaml.cs.На этой странице есть текстовое поле textBox1.Теперь я создаю экземпляр страницы:

PhoneApp1.samplePage s = new PhoneApp1.samplePage();

и после этого я хотел бы установить значение в текстовом поле, вызвав:

s.textBox1.Text = "whatever"

, но получаетсясообщение об ошибке, в котором говорится, что

PhoneApp1.samplePage не содержит определения для textBox1, и не найдено никакого метода расширения textBox1, принимающего первый аргумент типа PhoneApp1.samplePageВы пропустили директиву using или ссылку на сборку?)

Я хотел бы знать, как получить элемент xaml с использованием кода C #?

Ответы [ 2 ]

0 голосов
/ 31 марта 2012

Ваше текстовое поле, вероятно, является частным или защищенным. Добавьте обертку на своей странице, чтобы открыть текстовое поле, что-то вроде:

public TextBox TextBox1
{
    get
    {
        return this.textBox1;
    }
}

(обратите внимание)

Тогда просто используйте собственность из любого места: s.TextBox1.Text = "whatever";

0 голосов
/ 31 марта 2012

Хороший вопрос, вам нужно использовать XamlReader.Load для загрузки вашей страницы / элемента управления во время выполнения, тогда вы сможете получить доступ к элементам управления внутри него:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...