如何在会话中保留Button / TextBox / etc?

时间:2009-04-22 18:41:15

标签: c# silverlight

我的页面上有一个画布,当我点击一个按钮时,我在画布上动态创建一个新按钮。所以,我想把我的按钮放在我可以随时随地访问项目的地方(例如更改文本,或者格式化它)。可以有人给我一个解决方案吗?

2 个答案:

答案 0 :(得分:1)

此类功能通常通过页面/表单上的回调(代理)或与您的控件绑定来完成。

如果您想要触发更改,请注册您使用按钮/文本框/页面定义的某些事件。

答案 1 :(得分:1)

Silverlight完全在客户端上运行,在浏览器中运行,因此无需担心在服务器上存储会话状态。好吧,除非你从你的应用程序中回发到服务器,但你的问题中没有迹象表明你正在这样做。

如果您在Silverlight中创建一个按钮(来自页面或控件),那么您可以在该页面或控件中使用它,就像任何常规的旧.NET变量一样。如果它被声明为一个字段,你可以从任何地方获取它。

public partial class MainControl : UserControl
{
    private Button myButtonToKeepAroundAllTheTime;

    protected void TriggerButton_Click(object sender, EventArgs e)
    {
        myButtonToKeepAroundAllTheTime = new Button()
        {
            Content = "Click Me",
            Height = 20
        };
    }
}