-1
    public void CreateLayout(Grid gridLayout)
    {

        //StackPanel 
        DwrapperForControls = new StackPanel();
        DwrapperForControls.Width = 300;
        DwrapperForControls.Margin = new Thickness(10, 0, 0, 0);

        //TextBlock 
        DtblConnectedToIP = new TextBlock();
        DtblConnectedToIP.Name = "NDtblConnectedToIP";
        DtblConnectedToIP.Text = "ConnectedToIP";
        //"tbxConnectedToIP"
        //"tbxConversation"
        //"tbxMassegeTyping"
        //TextBox 
        DtbxConnectedToIP = new TextBox();
        DtbxConnectedToIP.IsReadOnly = true;
        DtbxConnectedToIP.Name = "NDtbxConnectedToIP";

        // TextBox 
        DtbxConversation = new TextBox();
        DtbxConversation.Name = "NDtbxConversation";
        DtbxConversation.IsReadOnly = true;
        DtbxConversation.Height = 190;
        DtbxConversation.Background = Brushes.DarkCyan;

        //TextBox 
        DtbxMassegeTypingD = new TextBox();
        DtbxMassegeTypingD.Name = "NDtbxMassegeTypingD";

        //Button 
        DbtnSend = new Button();
        DbtnSend.Width = 100;
        DbtnSend.Height = 20;
        DbtnSend.Content = "Send";
        DbtnSend.Click += new RoutedEventHandler(DbtnSend_Click);
        DwrapperForControls.Children.Add(DtblConnectedToIP);
        DwrapperForControls.Children.Add(DtbxConnectedToIP);
        DwrapperForControls.Children.Add(DtbxConversation);
        DwrapperForControls.Children.Add(DtbxMassegeTypingD);
        DwrapperForControls.Children.Add(DbtnSend);
        DwrapperForControls.Name = "Child" + numbering;
        stackPanelWrapper.Children.Add(DwrapperForControls);
        numbering++;

    }

This is XAML Code currently i am using but instead of using stackpanel as a parent i want DockPanel because

I don't think Panel updates its UI

<ScrollViewer  Grid.Row="0" Grid.Column="0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<StackPanel x:Name="stackPanelWrapper" Orientation="Horizontal" Width="auto"> </StackPanel>
</ScrollViewer>

enter image description here

Emmanuel DURIN
  • 4,803
  • 2
  • 28
  • 53

1 Answers1

0

On both StackPanel and DockPanel, there is a Children property that is Collection where you can Remove objects.

I ve just tested the remove functionality, it works fine with both StackPanel and DockPanel.

<!-- you can change StackPanel into DockPanel, it still works fine -->
<StackPanel x:Name="panel1">
    <Button Content="remove me " Click="Button_Click" DockPanel.Dock="Top" Height="50" />
    <Button Content="remove me " Click="Button_Click" DockPanel.Dock="Left" Width="50" />
    <Button Content="remove me " Click="Button_Click"  />
</StackPanel>

Here is the codebehind :

private void Button_Click(object sender, RoutedEventArgs e)
{
    panel1.Children.Remove(sender as UIElement);
}

You ve got a working demo here : http://1drv.ms/1ZxRAPb

Regards

Emmanuel DURIN
  • 4,803
  • 2
  • 28
  • 53