2009-04-22 6 views
0

Ich habe eine Leinwand auf meiner Seite und wenn ich auf eine Schaltfläche klicke, erstelle ich dynamisch eine neue Schaltfläche auf meiner Leinwand. Also, ich halte meinen Knopf irgendwo, wo ich jederzeit und überall in meinem Projekt zugreifen kann (um zB Text zu ändern oder zu formatieren). Kann mir jemand eine Lösung geben?Wie kann ich einen Button/TextBox/etc in Sitzung halten?

Antwort

1

Silverlight wird vollständig auf dem Client im Browser ausgeführt, sodass Sie sich keine Gedanken darüber machen müssen, ob Sie Objekte im Sitzungsstatus auf dem Server speichern. Nun, es sei denn, Sie melden sich in Ihrer App auf dem Server zurück, aber in Ihrer Frage gibt es keinen Hinweis darauf, dass Sie das tun.

Wenn Sie in Silverlight eine Schaltfläche erstellen (von einer Seite oder einem Steuerelement), steht sie Ihnen auf dieser Seite oder in Ihrem Steuerelement wie jede normale alte .NET-Variable zur Verfügung. Wenn es als Feld deklariert ist, können Sie von überall her darauf zugreifen.

public partial class MainControl : UserControl 
{ 
    private Button myButtonToKeepAroundAllTheTime; 

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

Diese Art von Funktionalität wird in der Regel über Callbacks (Delegaten) auf Ihrer Seite/Ihrem Formular oder an Ihre Kontrolle gebunden.

Haben Sie alles, was Sie möchten, um die Änderung auszulösen, registrieren Sie sich für ein Ereignis, das Sie mit Ihrer Schaltfläche/Textfeld/Seite definiert haben.

Verwandte Themen