none
Auf Steuerelemente eines WPF UserControls zugreifen (über Me.Controls) RRS feed

  • Frage

  • Hallo,

    Ich habe folgendes Problem: Ich möchte auf die Controls-Eigenschaft eines UserControls zugreifen, um dann mehrere Textfelder in einer Schleife zu füllen.

    Also in etwa so:

    For i = 0 To 10
    
    Me.Controls("TextBox" & Convert.ToString(i)).Text = "Test"
    
    Next

    Mein Problem ist nun, dass ich WPF-UserControls verwende, und hier gibt es scheinbar keine Eigenschaft UserControl.Controls. Wie muss ich hier vorgehen?

    Vielen Dank

    Dienstag, 5. Oktober 2010 08:58

Antworten

  • Hi Florian,
    da die Elemente im XAML-beliebig geschachtelt werden können, würde eine Controls-Auflistung wenig bringen. Wenn Du genau wei�?t, dass z.B. Deine TextBoxes nicht "umhüllt" sind (z.B. mit Border), dann kannst Du die Children-Auflistung nutzen. Wenn dann aber im design etwas geändert wird, kann es schnell passieren, dass soclh ein Direktzugriff nicht mher funktioniert. Als Alternative solltest Du Dich mal mit der VisualTreeHelper-Klasse beschäftigen.
     

    --
    Viele Gruesse
    Peter

    Mittwoch, 6. Oktober 2010 03:53

Alle Antworten

  • Hi Florian,
    da die Elemente im XAML-beliebig geschachtelt werden können, würde eine Controls-Auflistung wenig bringen. Wenn Du genau wei�?t, dass z.B. Deine TextBoxes nicht "umhüllt" sind (z.B. mit Border), dann kannst Du die Children-Auflistung nutzen. Wenn dann aber im design etwas geändert wird, kann es schnell passieren, dass soclh ein Direktzugriff nicht mher funktioniert. Als Alternative solltest Du Dich mal mit der VisualTreeHelper-Klasse beschäftigen.
     

    --
    Viele Gruesse
    Peter

    Mittwoch, 6. Oktober 2010 03:53
  • Hallo Peter,

    vielen Dank für deine Antwort. Ich werde mich da mal einlesen :) Und sollte Ich noch fragen haben, melde ich mich wieder.


    Gruß Florian
    Donnerstag, 7. Oktober 2010 15:13