Vous êtes sur la page 1sur 10

Ejercicio 02

ICSI-413 Desarrollo de Aplicaciones

Navegacin y Listas

Ejercicio 1
Importante: este proyecto debe ser creado usando el .Net Framework 4 o
superior
Defina un Formulario que contenga un TextBox y un Button. El control TextBox
permitir ingresar un nombre.
En el Button se programar lo necesario para pasar a otro Window, al cual debe
trasferir el contenido del TextBox.

Interfaz de usuario

MainWindows.xaml
<Window x:Class="E2015_03A.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition />
<RowDefinition />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>

Laboratorio de DEA

pg. 1

<Label Content="Navegacin y Listas" HorizontalAlignment="Left" Margin="


146,20,0,0" Name="label1" FontSize="22" FontWeight="Bold" HorizontalContentAlign
ment="Center" Height="49" VerticalAlignment="Top" />
<Label Content="E201503" Height="28" HorizontalAlignment="Left" Margin="220,61,0,0" Name="label2" Ver
ticalAlignment="Top" HorizontalContentAlignment="Center" FontWeight="SemiBold" F
ontSize="16" />
<Grid Grid.Row="1" Height="47" HorizontalAlignment="Left" Margin="0,4,0,
0" Name="grid1" VerticalAlignment="Top" Width="503">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Label Content="Ingrese su Nombre" Height="28" HorizontalAlignment="
Left" Margin="38,13,0,0" Name="label3" VerticalAlignment="Top" />
<TextBox Grid.Column="1" Height="23" HorizontalAlignment="Left" Marg
in="0,13,0,0" Name="txtNombre" VerticalAlignment="Top" Width="312" />
</Grid>
<Button Content="Siguiente" Grid.Row="2" Height="23" HorizontalAlignment
="Left" Margin="38,15,0,0" Name="btnSiguiente" VerticalAlignment="Top" Width="75
" Click="btnSiguiente_Click" />
</Grid>
</Window>

Lgica de Aplicacin

MainWindows.xaml.cs
using
using
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Windows;
System.Windows.Controls;
System.Windows.Data;
System.Windows.Documents;
System.Windows.Input;
System.Windows.Media;
System.Windows.Media.Imaging;
System.Windows.Navigation;
System.Windows.Shapes;

namespace E2015_03
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}

Laboratorio de DEA

pg. 2

private void btnSiguiente_Click(object sender, RoutedEventArgs e)


{
Window1 w1 = new Window1();
w1.sNombre = txtNombre.Text;
w1.ShowDialog();

Defina un segundo Window que presente un saludo de acuerdo a la hora del da


(Buenos Das , Buenas Tardes , Buenas Noches ) concatenado con el nombre
que recibi del Window anterior:

Lgica de Aplicacin

Windows1.xaml
<Window x:Class="E2015_03A.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Ventana llamada" Height="300" Width="300" Loaded="Window_Loaded">
<Grid>
<Label Content="Label" Height="51" HorizontalAlignment="Left" Margin="22
,12,0,0" Name="lblSaludo" VerticalAlignment="Top" Width="244" />
</Grid>
</Window>

Lgica de Aplicacin

Window1.xaml.cs
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Windows;

Laboratorio de DEA

pg. 3

using
using
using
using
using
using
using

System.Windows.Controls;
System.Windows.Data;
System.Windows.Documents;
System.Windows.Input;
System.Windows.Media;
System.Windows.Media.Imaging;
System.Windows.Shapes;

namespace E2015_03
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
///
public partial class Window1 : Window
{
public String sNombre = "";

public Window1()
{
InitializeComponent();
}

private void Window_Loaded(object sender, RoutedEventArgs e)


{
DateTime fechaHora = new DateTime();
string sMensa = "Buenos Dias ";
if (fechaHora.Hour > 12) sMensa = "Buenas Tardes ";
if (fechaHora.Hour > 18) sMensa = "Buenas Noches ";
lblSaludo.Content = sMensa + sNombre;

Laboratorio de DEA

pg. 4

Ejercicio 2
Teniendo como base el primer Formulario Window del ejercicio anterior, defina un
arreglo que contenga una lista de ciudades.
Asocie el arreglo previamente definido a un ListtBox y a un ComboBox
Utilice la propiedad ItemsSource de ambos controles en el constructor del
Formulario para que se visualice el contenido del arreglo, tal como se muestra a
continuacin:

Interfaz de usuario

MainWindows.xaml
<Window x:Class="E2015_03A.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="2*" />
<RowDefinition />
<RowDefinition />
<RowDefinition Height="3*" />
</Grid.RowDefinitions>

Laboratorio de DEA

pg. 5

<Label Content="Navegacin y Listas" HorizontalAlignment="Left" Margin="


146,20,0,0" Name="label1" FontSize="22" FontWeight="Bold" HorizontalContentAlign
ment="Center" Height="49" VerticalAlignment="Top" />
<Label Content="E201503" Height="28" HorizontalAlignment="Left" Margin="220,61,0,0" Name="label2" Ver
ticalAlignment="Top" HorizontalContentAlignment="Center" FontWeight="SemiBold" F
ontSize="16" />
<Grid Grid.Row="1" Height="47" HorizontalAlignment="Left" Margin="0,4,0,
0" Name="grid1" VerticalAlignment="Top" Width="503">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="2*" />
</Grid.ColumnDefinitions>
<Label Content="Ingrese su Nombre" Height="28" HorizontalAlignment="
Left" Margin="38,13,0,0" Name="label3" VerticalAlignment="Top" />
<TextBox Grid.Column="1" Height="23" HorizontalAlignment="Left" Marg
in="0,13,0,0" Name="txtNombre" VerticalAlignment="Top" Width="312" />
</Grid>
<ListBox Grid.Row="3" Height="100" HorizontalAlignment="Left" Margin="28
,22,0,0" Name="lstCiudades" VerticalAlignment="Top" Width="120" />
<Grid Grid.Row="2" Height="42" HorizontalAlignment="Left" Margin="0,2,0,
0" Name="grid2" VerticalAlignment="Top" Width="503">
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Button Content="Siguiente" Height="23" HorizontalAlignment="Left" M
argin="28,10,0,8" Name="btnSiguiente" VerticalAlignment="Center" Width="75" Clic
k="btnSiguiente_Click" />
<ComboBox Height="23" HorizontalAlignment="Left" Margin="0,10,0,8" N
ame="cboCiudades" VerticalAlignment="Center" Width="120" Grid.Column="1" />
</Grid>
</Grid>
</Window>

Lgica de Aplicacin

MainWindows.xaml.cs
using
using
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Windows;
System.Windows.Controls;
System.Windows.Data;
System.Windows.Documents;
System.Windows.Input;
System.Windows.Media;
System.Windows.Media.Imaging;
System.Windows.Navigation;
System.Windows.Shapes;

Laboratorio de DEA

pg. 6

namespace E2015_03
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
String[] listaCiudades = new String[] { "Trujillo", "Chiclayo", "Piura",
"Cajamarca" };

public MainWindow()
{
InitializeComponent();

// Agregar lista de Ciudades al control


lstCiudades.ItemsSource = listaCiudades;
cboCiudades.ItemsSource = listaCiudades;

private void btnSiguiente_Click(object sender, RoutedEventArgs e)


{
Window1 w1 = new Window1();
w1.sNombre = txtNombre.Text;
w1.ShowDialog();

Laboratorio de DEA

pg. 7

Ejercicio 3
Teniendo como base el primer Window del ejercicio 1, defina una interfaz de
usuario que contenga 2 TextBox, 2 Button y un GridView, tal como se muestra
en el grfico
Defina una Clase Datos para el manejo de los datos (Codigo, Descripcion)
Defina una coleccin (List<Datos>) para contener los elementos de Datos
Utilice el primer botn para que agregue elementos a la coleccin.
Asocie la coleccin (arreglo dinmico) previamente definido a un DataGrid para
visualizar el contenido (use la propiedad ItemsSource).
Utilice el segundo botn para mostrar los elementos de la coleccin en el
Datagrid.

Interfaz de usuario

Window1.xaml
<Window x:Class="E2015_03A.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Ventana llamada" Height="326" Width="447" Loaded="Window_Loaded">
<Grid>
<Label Content="Label" Height="30" HorizontalAlignment="Left" Margin="12
,12,0,0" Name="lblSaludo" VerticalAlignment="Top" Width="401" />
<Grid Name="grid1">

Laboratorio de DEA

pg. 8

<Grid.ColumnDefinitions>
<ColumnDefinition Width="144*" />
<ColumnDefinition Width="281*" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition Height="4*" />
</Grid.RowDefinitions>
<Label Content="Cdigo:" Height="33" HorizontalAlignment="Left" Margin=
"32,3,0,0" Name="label1" VerticalAlignment="Top" Grid.Row="1" Width="76" />
<TextBox Height="26" HorizontalAlignment="Left" Margin="0,3,0,0" Name
="txtCodigo" VerticalAlignment="Top" Width="99" Grid.Column="1" Grid.Row="1" />
<Button Content="Agregar" Grid.Row="3" Height="23" HorizontalAlignme
nt="Left" Margin="32,8,0,0" Name="btnAgregar" VerticalAlignment="Top" Width="75"
Click="btnAgregar_Click" />
<Label Content="Descripcin:" Height="33" HorizontalAlignment="Left"
Margin="31,0,0,0" Name="label2" VerticalAlignment="Bottom" Width="76" Grid.Row=
"2" />
<TextBox Height="26" HorizontalAlignment="Left" Name="txtDescripcion
" VerticalAlignment="Top" Width="269" Grid.Column="1" Grid.Row="2" />
<Button Content="Mostrar" Height="23" HorizontalAlignment="Left" Mar
gin="0,8,0,0" Name="btnMostrar" VerticalAlignment="Top" Width="75" Grid.Column="
1" Grid.Row="3" Click="btnMostrar_Click" />
<Grid Name="ListaDeDatos" Grid.Row="4" Grid.ColumnSpan="2">
<DataGrid AutoGenerateColumns="True" Height="131" HorizontalAlig
nment="Left" Margin="6,6,0,0" Name="dgDatos" VerticalAlignment="Top" Width="413"
/>
</Grid>
</Grid>
</Grid>

</Window>

Lgica de Aplicacin

Window1.xaml.cs
using
using
using
using
using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.Linq;
System.Text;
System.Windows;
System.Windows.Controls;
System.Windows.Data;
System.Windows.Documents;
System.Windows.Input;
System.Windows.Media;
System.Windows.Media.Imaging;
System.Windows.Shapes;

Laboratorio de DEA

pg. 9

namespace E2015_03A
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
///
public partial class Window1 : Window
{
public String sNombre = "";
// Define coleccion para agregar datos dinamicos
private List<Datos> listaDatos = new List<Datos>();

public Window1()
{
InitializeComponent();
}

private void Window_Loaded(object sender, RoutedEventArgs e)


{
DateTime fechaHora = new DateTime();
string sMensa = "Buenos Dias ";
if (fechaHora.Hour > 12) sMensa = "Buenas Tardes ";
if (fechaHora.Hour > 18) sMensa = "Buenas Noches ";
lblSaludo.Content = sMensa + sNombre;

private void btnAgregar_Click(object sender, RoutedEventArgs e)


{
Datos fila = new Datos(txtCodigo.Text, txtDescripcion.Text);
listaDatos.Add(fila);
}

private void btnMostrar_Click(object sender, RoutedEventArgs e)


{
string sCadena = "";
for (int i=0; i < listaDatos.Count; i++)
{
sCadena += listaDatos[i].Codigo.ToString() + ", " + listaDatos[i
].Descripcion.ToString() + "\n";
}
MessageBox.Show(sCadena);
// Mostrar el contenido en un DataGrid
dgDatos.ItemsSource = null;
dgDatos.ItemsSource = listaDatos;
}

Laboratorio de DEA

pg. 10

Vous aimerez peut-être aussi