void BtnIncluirValor_Click(object sender, RoutedEventArgs e) { #region Identificação do componente Button btn = sender as Button; WrapPanelEntrada wpPanel = btn.Parent as WrapPanelEntrada; #endregion #region Cria Novo Objeto(Lista) de Valores EntradaValores entValores = new EntradaValores() { id = ++idValor }; #endregion #region Cria Novo WrapPanel de Valores WrapPanelEntradaValor wpEntradaValor = new WrapPanelEntradaValor(); wpEntradaValor.Orientation = Orientation.Horizontal; wpEntradaValor.Margin = new Thickness(5, 5, 5, 5); //wpEntradaValor.Background = Brushes.Red; #endregion #region Cria Novo Campo de Valores TextBoxEntradaValor edtTextIncluirValor = new TextBoxEntradaValor(); edtTextIncluirValor.Height = 20; edtTextIncluirValor.Width = 85; edtTextIncluirValor.Margin = new Thickness(5, 5, 5, 5); #endregion #region Cria Novo Botão Excluir Valor Button btnExcluirValor = new Button(); btnExcluirValor.Height = 20; btnExcluirValor.Width = 30; btnExcluirValor.Content = '-'; btnExcluirValor.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; btnExcluirValor.Margin = new Thickness(5, 5, 0, 5); #endregion #region Objeto Recebe Valores wpEntradaValor.entValor = entValores; edtTextIncluirValor.entValor = entValores; #endregion #region Inclui Os Componentes no WrapPanel wpPanel.Children.Add(wpEntradaValor); wpEntradaValor.Children.Add(btnExcluirValor); wpEntradaValor.Children.Add(edtTextIncluirValor); #endregion #region Eventos dos componentes btnExcluirValor.Click += BtnExcluirValor_Click; edtTextIncluirValor.TextChanged += edtTextIncluirValor_TextChanged; #endregion #region Adiciona Valores de Entrada na Lista wpEntradaValor.entValor = entValores; wpPanel.entrada.listaEntradaValor.Add(entValores); #endregion }
void BtnExcluirValor_Click(object sender, RoutedEventArgs e) { #region Identifica o Componente Button btn = sender as Button; WrapPanelEntradaValor wpEntradaValor = btn.Parent as WrapPanelEntradaValor; WrapPanelEntrada wpEntrada = wpEntradaValor.Parent as WrapPanelEntrada; #endregion #region Remove WrapPanel e Valores da Entrada wpEntrada.Children.Remove(wpEntradaValor); wpEntrada.entrada.listaEntradaValor.Remove(wpEntradaValor.entValor); #endregion }