Silverlight开放网站

时间:2010-03-26 14:11:09

标签: silverlight user-controls

假设我有一个带有按钮的MainPage。我还有另一个页面(第2页),它有一个文本框。我想在Page2中的文本框中添加一个简单的文本“TEXT”,同时通过MainPage中的按钮进行导航。我有一个实际打开网站的问题。在Windows窗体应用程序中,它通过以下方式解决:

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

我如何在Silverlight中执行此操作? HELP“)

1 个答案:

答案 0 :(得分:1)

我没有方便的开发环境,所以我为此道歉并不准确,但这种方法应该对你有用,并且是我做这样的事情的首选方式。

以下是我对使用伪代码标记的层次结构的理解:

<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属性即可。最终,这个想法保持不变,我们只通过这个属性而不是直接访问它。这将允许您的控件在许多屏幕上使用,无论文本框被调用什么。这样,对于您的页面“使用”控件,需要首先“注册”此文本框。