Silverlight открывает сайт - PullRequest
       10

Silverlight открывает сайт

1 голос
/ 26 марта 2010

Допустим, у меня есть MainPage с кнопкой. У меня также есть другая страница (Page2), которая имеет текстовое поле. Мне бы хотелось добавить простой текст "ТЕКСТ" в текстовое поле на странице 2 при навигации по кнопке из главной страницы. У меня проблема с получением фактически открытого сайта. В приложениях Windows Forms это решается следующим образом:

Page2 page2 = (Page2)Application.OpenedForms["Page2"]; page2.TextBox.Text = "TEXT";

Как я могу сделать это в Silverlight? HELP ")

1 Ответ

1 голос
/ 26 марта 2010

У меня нет удобной среды разработки, поэтому мои извинения за то, что она не точная, но этот метод должен работать для вас и является для меня предпочтительным способом сделать что-то подобное.

Вот мое понимание иерархии с использованием разметки псевдокода:

<Page2>
    <Textbox ID="MyTextbox" />
    <Control ID="Page1">
        <Button ID="MyButton" />
    </Control>
</Page2>

При таком понимании звучит так, как будто вам нужно вставить дескриптор вашего TextBox в свойство элемента управления более низкого уровня:

// Page1 code
public TextBox TextboxToUpdateWhenYouPressTheButton { get; set; }

Click()
{
    // Perform Not Null Check and handle it somehow if it is null.

    // Set the text.
    TextboxToUpdateWhenYouPressTheButton.Text = "This is the text that goes into the textbox.";
}

Делая это таким образом, всякий раз, когда вы создаете свою Page1, просто передаете дескриптор для вашего текстового поля в новое свойство TextboxToUpdateWhenYouPressTheButton вашего внутреннего элемента управления. В конечном счете, идея остается прежней, мы получаем к ней доступ только через это свойство, а не прямо сейчас. Это позволит использовать ваш элемент управления на многих экранах независимо от того, как называется текстовое поле. Таким образом, чтобы ваша страница «потребляла» элемент управления, необходимо, чтобы она сначала «регистрировала» это текстовое поле.

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