Implementación de Ingreso de Clientes y Estilos en WPF
Ingreso de Cliente: Código C#
A continuación se presenta la lógica de interacción para la ventana winIngresoCliente.xaml desarrollada en WPF con C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Clase9WPF
{
/// <summary>
/// Lógica de interacción para winIngresoCliente.xaml
/// </summary>
public partial class winIngresoCliente : Window
{
public winIngresoCliente()
{
InitializeComponent();
}
private void btn_sal_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void btn_lim_Click(object sender, RoutedEventArgs e)
{
this.txtRut.Clear();
this.txtDv.Clear();
this.txtNombreCompleto.Clear();
this.txtDireccion.Clear();
this.txtCorreoElectronico.Clear();
this.txtFono.Clear();
this.txtDeuda.Clear();
radHombre.IsChecked = true;
//this.cboCiudad.Items.Clear();
cboCiudad.SelectedIndex = 0;
//dtpFechaNacimiento.Text = "";
dtpFechaNacimiento.SelectedDate = null;
//if (chk_edc.IsChecked == true || chk_ofe.IsChecked == true)
//{
chkOferta.IsChecked = false;
chkEstadoCuenta.IsChecked = false;
//}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Clase9WPF.MainWindow do_clase9 = new Clase9WPF.MainWindow();
do_clase9.ConsultarCliente(cboCliente);
cboCliente.SelectedIndex = 0;
}
private void cboCiudad_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
private void btn_ing_Click(object sender, RoutedEventArgs e)
{
Clase9WPF.MainWindow do_clase9 = new Clase9WPF.MainWindow();
int dn_rut_cliente_actual;
string ds_nombre_cliente;
string ds_direccion;
string ds_fono;
string ds_correo_electronico;
dn_rut_cliente_actual = int.Parse(this.txtRut.Text);
ds_nombre_cliente = this.txtNombreCompleto.Text.Trim();
ds_direccion = this.txtDireccion.Text.Trim();
ds_fono = this.txtFono.Text.Trim();
ds_correo_electronico = this.txtCorreoElectronico.Text.Trim();
do_clase9.InsertarCliente(dn_rut_cliente_actual, ds_nombre_cliente, ds_direccion, ds_fono, ds_correo_electronico);
}
}
}Ingreso de RUT sin Imagen
Implementación alternativa o complementaria para el registro y gestión de datos de cliente:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace Clase9WPF
{
/// <summary>
/// Lógica de interacción para winIngresoCliente.xaml
/// </summary>
public partial class winIngresoCliente : Window
{
public winIngresoCliente()
{
InitializeComponent();
}
private void btn_sal_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void btn_lim_Click(object sender, RoutedEventArgs e)
{
this.txtRut.Clear();
this.txtDv.Clear();
this.txtNombreCompleto.Clear();
this.txtDireccion.Clear();
this.txtCorreoElectronico.Clear();
this.txtFono.Clear();
this.txtDeuda.Clear();
radHombre.IsChecked = true;
//this.cboCiudad.Items.Clear();
cboCiudad.SelectedIndex = 0;
//dtpFechaNacimiento.Text = "";
dtpFechaNacimiento.SelectedDate = null;
//if (chk_edc.IsChecked == true || chk_ofe.IsChecked == true)
//{
chkOferta.IsChecked = false;
chkEstadoCuenta.IsChecked = false;
//}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
Clase9WPF.MainWindow do_clase9 = new Clase9WPF.MainWindow();
do_clase9.ConsultarCliente(cboCliente);
cboCliente.SelectedIndex = 0;
}
private void cboCiudad_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
}
private void btn_ing_Click(object sender, RoutedEventArgs e)
{
Clase9WPF.MainWindow do_clase9 = new Clase9WPF.MainWindow();
int dn_rut_cliente_actual;
string ds_nombre_cliente;
string ds_direccion;
string ds_fono;
string ds_correo_electronico;
dn_rut_cliente_actual = int.Parse(this.txtRut.Text);
ds_nombre_cliente = this.txtNombreCompleto.Text.Trim();
ds_direccion = this.txtDireccion.Text.Trim();
ds_fono = this.txtFono.Text.Trim();
ds_correo_electronico = this.txtCorreoElectronico.Text.Trim();
do_clase9.InsertarCliente(dn_rut_cliente_actual, ds_nombre_cliente, ds_direccion, ds_fono, ds_correo_electronico);
}
}
}Definición de Estilos XAML para Botones de Grilla
Código XAML para personalizar la apariencia de los controles Button dentro del contenedor o grilla, incluyendo desencadenadores visuales (Triggers):
<Style x:Key="ClaseButton" TargetType="Button">
<Setter Property="Background" Value="DarkGray" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="FontFamily" Value="Calibri" />
<Setter Property="FontSize" Value="13" />
<Setter Property="FontWeight" Value="Heavy" />
<Style.Triggers>
<Trigger Property="IsPressed" Value="true">
<Setter Property="Foreground" Value="Green" />
<Setter Property="FontFamily" Value="Berlin Sans FB" />
<Setter Property="FontSize" Value="18" />
</Trigger>
</Style.Triggers>
</Style>