none
Host eines UserControls RRS feed

  • Frage

  • Hallo ;)
    Ich würde gerne ein UserControl in eine vorhandenes MainForm hosten. Diese Zuweisung möchte ich aber im Code-Behind machen, und nicht in XAML ... Die Befehlszeilen in XAML kenne ich bereits : 

    xmlns:local="clr-namespace:WpfDynamicallyLoadXAML"
    <Grid>
            <TabControl Margin="0,0,0,0" Name="tabControl1" >
                <TabItem Header="tabItem1" Name="tabItem1">
                    <Grid Name="TestGrid">
                        <local:UserControl1 Margin="203,36,197,26" />
                    </Grid>
                </TabItem>
            </TabControl>
        </Grid>
    
     Ich benötige aber diese  <local:UserControl1 Margin="203,36,197,26" /> Zeile als VB-Code um nach belieben viele UserControls zu hosten oder wieder zu entfernen. Sozusagen sollte es ein definiertes Element sein, dem ich eine Position im Grid oder einem anderen Objekt zuweisen kann, welches dann z.B mit Grid.Children.Add(UserControl1) gehostet wird ...

    schöne Grüße,
    Roland
    Dienstag, 9. Februar 2010 20:09

Antworten

  • Hallo Roland,

    für das Grid wird eine Variable mit dem Name TestGrid generiert. Damit hast du eine Referenz auf dieses Objekt.

    Dim button1 As New Button()
    button1.Content = "Click"
    TestGrid.Children.Add(button1)

    Der Code fügt einen Button zum Grid hinzu.

    Hope this Helps.
    Mittwoch, 10. Februar 2010 08:01

Alle Antworten

  • Hallo Roland,

    für das Grid wird eine Variable mit dem Name TestGrid generiert. Damit hast du eine Referenz auf dieses Objekt.

    Dim button1 As New Button()
    button1.Content = "Click"
    TestGrid.Children.Add(button1)

    Der Code fügt einen Button zum Grid hinzu.

    Hope this Helps.
    Mittwoch, 10. Februar 2010 08:01
  • Vielen Dank ;) 
    Muss sagen, das hätte ich eigentlich wissen müssen ... Vielleicht sollte ich mir eine Pause gönnen ^^

     Dim UC As New UserControl1
     UC.Margin = New Thickness(92, 49, 182, 41)
     TestGrid.Children.Add(UC)

    Grüße,
    Roland


    Mittwoch, 10. Februar 2010 13:51