2015-10-13 7 views
-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++; 

    } 

Это XAML код в настоящее время я использую, но вместо того, чтобы использовать StackPanel как родитель я хочу DockPanel потомуКак удалить элемент из DockPanel так что обновлять его вид

Я не думаю, что Panel обновления его 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

+0

Исправьте, "панель я не думаю обновить пользовательский интерфейс" -> StackPanel? Прочтите снова –

+0

Так это работает сейчас? Взгляните на мой ответ ниже, есть полное рабочее решение –

ответ

0

На обоих StackPanel и DockPanel, есть свойство детей, что является коллекция, где вы можете удалить объекты.

Я только что протестировал функцию удаления, она отлично работает как с StackPanel, так и с 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> 

Вот отделенного кода:

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

Вы ве получили рабочую демо здесь: http://1drv.ms/1ZxRAPb

С уважением

 Смежные вопросы

  • Нет связанных вопросов^_^