WPF-wie erstelle ich ein Textfeld dynamisch und finden Sie das Textfeld auf eine Schaltfläche klicken?
Erstelle ich ein TextBox
und ein Button
dynamisch mit dem folgenden code:
Button btnClickMe = new Button();
btnClickMe.Content = "Click Me";
btnClickMe.Name = "btnClickMe";
btnClickMe.Click += new RoutedEventHandler(this.CallMeClick);
someStackPanel.Childern.Add(btnClickMe);
TextBox txtNumber = new TextBox();
txtNumber.Name = "txtNumber";
txtNumber.Text = "1776";
someStackPanel.Childern.Add(txtNumber);
Ich Haken bis zu einem click-Ereignis auf den Click Me
- Taste. Den Klick mich button selbst ist ordnungsgemäß ausgelöst. Aber ich kann nicht finden die TextBox
betrat ich dynamisch.
Hier ist mein Klick-mich-event:
protected void ClickMeClick(object sender, RoutedEventArgs e)
{
//Find the phone number
TextBox txtNumber = this.someStackPanel.FindName("txtNumber") as TextBox;
if (txtNumber != null)
{
string message = string.Format("The number is {0}", txtNumber.Text);
MessageBox.Show(message);
}
else
{
MessageBox.Show("Textbox is null");
}
}
Wie finde ich die TextBox
txtNumber
?
InformationsquelleAutor der Frage David Basarab | 2009-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Josh G hatte die Ahnung, dass Feste dieser code: verwenden Sie RegisterName().
Drei Vorteile hier:
Komplette code.
InformationsquelleAutor der Antwort hughdbrown
Andere Methode ist, um die damit verbundenen
TextBox
alsButton Tag
wenn instanciating.Diese Weise können Sie abrufen zurück im event-handler.
InformationsquelleAutor der Antwort Michaël Carpentier
Können Sie Ihr original klicken Sie auf " handler arbeiten durch die Registrierung der Namen der text box:
Diese kann man dann aufrufen FindName auf dem StackPanel und finden Sie die TextBox.
InformationsquelleAutor der Antwort Josh G
Wenn Sie wollen, zu tun, eine umfassende Suche über die visuelle Struktur von Steuerelementen, die Sie verwenden können, der VisualTreeHelper-Klasse.
Verwenden Sie den folgenden code zum iterieren durch alle visual Kindern eine Kontrolle:
Wenn Sie suchen möchten, nach unten in den Baum, die Sie ausführen möchten, diese Schleife an, die rekursiv, wie folgt:
InformationsquelleAutor der Antwort Josh G
Ist es eine Möglichkeit können Sie das TextBox-Steuerelement ein Feld in Ihrer Klasse anstelle einer Variablen innerhalb Ihrer generator-Methode
InformationsquelleAutor der Antwort bendewey