Sei sulla pagina 1di 24

Programa en Visual Studio c#.

(Archivos Secuenciales)
NOMBRE DE LA ALUMNA: Guadalupe del Socorro Torres Uribe. CARRERA: Ingeniera en informtica

NUMERO DE CONTROL: 10231046

Alumneitor:
Ser un programa en el cual, podamos insertar o colocar informacin acerca de los estudiantes que existen dentro de una escuela. Primero que nada para lograr ejecutar este programa se tiene que: 1.- Abrir el programa Visual Studio 2010.

DOCUMENTACIN PANTALLA PRINCIPAL:

Dentro de la ventana del programa aparecen las opciones o acciones a realizar con el programa:
1.- Barra de Men 2.-Lista de Navegacin 4.-Campos de Registro 3.- ndice de Registros

Barra de Men: Despliega las fichas de Archivo y Registro. Cada una de ellas tiene comandos segn su categora. Lista de Navegacin: Muestra la coleccin de registros. Se puede seleccionar con el cursor el registro que se desea visualizar. Una vez seleccionada la lista, tambin se puede navegar entre ellos con las teclas de direccin Arriba y Abajo. El registro seleccionado mostrara sus valores en los campos. Indice de los Registros: Muestra el ndice del registro actual y el nmero total de registros en la lista. Si estos no existen , aparece una leyenda Sin registros Campos de Registro: Aqu se insertan los valores que necesita el registro. Existen cinco diferentes campos.

Una Barra de Men: En la cual se muestra las fichas de Archivo y Registro. Cada una de ellas tiene comandos segn su categora.. Un ndice de Registros: En el que muestra el ndice del registro actual y un nmero total de registros en la lista. Si no existen registros, aparecer un mensaje como este: Sin registros. Una lista de Navegacin: Muestra la coleccin de registros. Se puede seleccionar con el cursor el registro que se desea visualizar. Una vez seleccionada la lista tambin se puede navegar entre ellos con las teclas de direccin Arriba y Abajo. El registro seleccionado mostrara sus valores en los campos.
1.-Nombre de pila 3.-Apellido Materno 4.-Nmero de Control 2.- Apellido Paterno 5.-Fecha de nacimiento Campos de nombre: Juntos, los campos de Nombre de pila, apellido Paterno y Apellido Materno conforman el Nombre del Alumno. Aceptan Caracteres de casi cualquier tipo. Nmero de Control: Valor que identificara al alumno. Es el campo que se muestra en la lista de navegacin.

Fecha de Nacimiento: Elemento interactivo. Al hacer clic en la hoja del calendario, se despliega un selector de fecha para seleccionar el dia, mes y ao de nacimiento del alumno

Mens:
Existen dos fichas en el men. Ficha Archivo: Contiene los comandos comunes de manejo de archivo. Haga clic en la ficha archivo para desplegar su submen. En el men se despliegan los siguientes elementos:

Nuevo: Crea un nuevo archivo. Una ventana emergente aparecer para que se seleccione una ubicacin y nombre para guardar el nuevo documento. Abrir: Abre un archivo existente. Una ventana emergente aparecer para que se seleccione el archivo. Guardar: Guarda los cambios en el archivo actual. Se sobrescriben los datos del archivo actual, que viene siendo el ultimo se uso en los comandos de la ficha archivo: Nuevo, Abrir o Guardar como. Guardar como: Guarda el estado del archivo actual en otra ubicacin y/o con otro nombre. Si existe un archivo con el mismo nombre en la ubicacin seleccionada, se le preguntara si se desea sobrescribir. Si no existe un archivo con el mismo nombre en la ubicacin seleccionada, se creara un archivo nuevo y el archivo viejo no sufrir cambio alguno. Cerrar: Cierra el archivo actual. Los cambios no guardados anteriormente NO se guardaran y no hay manera de recuperar los datos perdidos. La lista y los campos se borraran auttomticamente. Salir: Se finalizara la aplicacin. Los cambios no guardados anteriormente NO se guardaran y no hay manera de recuperar los datos perdidos. Ficha Registro: Despliega los comandos necesarios para manipular los registros que contendr el archivo. Al hacer clic en el, se muestran los siguientes comandos: Nuevo Registro: Crea un nuevo registro. Se habilitaran los campos de registro para que se definan los valores que debe tener el nuevo registro. Para guardar el registro, use el comando Guardar dentro de la ficha Registro. Para cancelar los cambios y descartar el nuevo registro, use el comando Cancelar de la ficha Registro. Guardar: Guarda los cambios que se hicieron en el registro que se est creando o actualizando actualmente. Esta opcin NO guarda el archivo, nicamente el registro actual dentro de la lista. Actualizar: Habilita los campos del registro que se est visualizando actualmente para poder modificarlos. Para guardar los cambios en el registro, use el comando Guardar dentro de la ficha Registro. Para cancelar los cambios, use el comando Cancelar de la ficha Registro. Eliminar: Elimina el registro que se est visualizando actualmente. Un cuadro de dialogo emerger para que se confirme si se debe realizar el procedimiento. Cancelar cambios: Descarta los cambios hechos en los campos y no los aplica al registro actual. Si el registro se estaba creando, simplemente se descartara. Nos referiremos a el como Cancelar en el manual.

Para Para Para Para Para

Para el uso de otros comandos: guardar los cambios, se usa el Archivo>Guardar. guardar los cambios en un nuevo archivo, use Archivo>Guardar Como. cerrar el archivo, use Archivo>Cerrar. cerrar la aplicacin puede usar Archivo>Salir. abrir un archivo existente, use Archivo>Abrir.

Para lograr crear un nuevo archivo, se selecciona de la ficha Archivo, la opcin nuevo y se elije el nombre y ubicacin del nuevo archivo. Para poder aadir un nuevo registro se usa el comando Registro>Nuevo (De la ficha Registro, use el comando Nuevo). Edite todos los campos del nuevo registro. Asegrese de llenarlos apropiadamente. Cuando finalice de editar los campos. Seleccione el comando Registro>Guardar. Si desea descartar los cambios, use Registro>Cancelar. El registro se agregara a la Lista de Navegacin. Puede agregar varios registros de la misma manera. Para modificar un registro, seleccinelo de la Lista de navegacin. Simplemente haga clic en el registro que desea modificar y despus use Registro>Actualizar. Los campos se habilitaran para su edicin. Si desea guardar los cambios use Registro>Guardar. Si desea descartarlos use Registro>Cancelar. Para eliminar un registro, seleccinelo de la Lista de Navegacin y use el comando Registro>Eliminar. Un dialogo aparecer, para confirmar el proceso presione Si.

CDIGO

Clase MainWindow
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Windows; usingSystem.Windows.Controls; usingSystem.Windows.Data; usingSystem.Windows.Documents; usingSystem.Windows.Input; usingSystem.Windows.Media; usingSystem.Windows.Media.Imaging; usingSystem.Windows.Navigation; usingSystem.Windows.Shapes; usingSystem.IO; namespaceAlumneitor { ///<summary> ///Lgica de interaccin para MainWindow.xaml ///</summary> publicpartialclassMainWindow: Window { stringnombre; //variable que almacena ruta con nombre del archivo inttotalRegistros = 0; //contador para almacenar total de regisgtros intregistroActual = 0; //Especifica el registro en que se encuentra actualmente intlongRegistro = 1; // Longitud para la lectura boolmodificar = false; //Indica si es posible modificar Datos[] datosAlumno = newDatos[1000]; //Arreglo para los datos de los alumnos boolmodificado = false; //bandera para indicar si hay modificaciones publicMainWindow() { InitializeComponent(); lv_alumnos.SelectionMode = SelectionMode.Single; //Indica que solo es posible seleccionar un elemento a la vez dtp_nacimiento.IsEnabled = true; // habilita el datetimepicker } privatevoidmenu_archivo_nuevo_Click(objectsender, RoutedEventArgse) { //Crear Microsoft.Win32.SaveFileDialogventanaSalvar = newMicrosoft.Win32.SaveFileDialog(); //ventana de dialogo para salvar if(ventanaSalvar.ShowDialog() == true) //Al seleccionar guardar en la ventana de dialogo.... { nombre = ventanaSalvar.FileName; //Se obtiene la ruta y nombre del archivo Archivo.Crear(ventanaSalvar.FileName); //Se llama a la funcion que crea el archivo

//Se habilitan controles... } menu_archivo_guardar.IsEnabled = true; menu_archivo_guardarComo.IsEnabled = true; menu_registro_nuevo.IsEnabled = true; menu_registro_eliminar.IsEnabled = false; menu_registro_cancelar.IsEnabled = false; } privatevoidmenu_archivo_abrir_Click(objectsender, RoutedEventArgse) { //Abrir Microsoft.Win32.OpenFileDialogventanaAbrir = newMicrosoft.Win32.OpenFileDialog(); //ventana de dialogo para abrir if(ventanaAbrir.ShowDialog() == true) //Al seleccionar abrir en la ventana... { nombre = ventanaAbrir.FileName; BinaryReaderlectura = Archivo.Leer(nombre, reftotalRegistros); lv_alumnos.Items.Clear(); for(inti = 0; i < totalRegistros; i++) //Se leen todos los datos del archivo y se almacenan en el arreglo temporal { lectura.BaseStream.Seek(longRegistro * i, SeekOrigin.Begin); //Se obtienen los datos del archivo y se asignan al arreglo temporal datosAlumno[i] = newDatos(); datosAlumno[i].numero = lectura.ReadInt32(); datosAlumno[i].nombre = lectura.ReadString(); datosAlumno[i].paterno = lectura.ReadString(); datosAlumno[i].materno = lectura.ReadString(); datosAlumno[i].nacimiento = lectura.ReadString(); //Se agrega un elemento al listbox con el No de control para su identificacion y navegacion posterior entre registros lv_alumnos.Items.Add(datosAlumno[i].numero); } //Se habilitan controles... menu_archivo_guardar.IsEnabled = true; menu_archivo_guardarComo.IsEnabled = true; menu_registro_nuevo.IsEnabled = true; //Se verifica que exista almenos un registro... if(totalRegistros > 0) { menu_registro_eliminar.IsEnabled = true; VerRegistro(0); //Se muestra el primer registro lbl_registros.Content = "Registros: "+ (registroActual + 1) + " / "+ totalRegistros; //Indica el registro actual menu_registro_actualizar.IsEnabled = true; lv_alumnos.SelectedIndex = 0; registroActual = 0; } menu_registro_cancelar.IsEnabled = false; ventana.Title = "Alumneitor: "+ nombre;

} } privatevoidmenu_archivo_guardar_Click(objectsender, RoutedEventArgse) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } publicvoidVerRegistro(intnumeroRegistro) { //Funcionpara mostrar un registro especifico registroActual = numeroRegistro; //Se convierten los datos almacenados y se muestran tbx_nombre.Text = datosAlumno[registroActual].nombre.ToString(); tbx_paterno.Text = datosAlumno[registroActual].paterno; tbx_materno.Text = datosAlumno[registroActual].materno; tbx_numero.Text = datosAlumno[registroActual].numero.ToString(); dtp_nacimiento.Text = datosAlumno[registroActual].nacimiento.ToString(); ; } privatevoidlv_alumnos_SelectionChanged(objectsender, SelectionChangedEventArgse) { try//Bloque try para evitar errores al deseleccionar los elementos de la lista (con un indice de -1) { //Se muestra el registro que este seleccionado VerRegistro(lv_alumnos.SelectedIndex); registroActual = lv_alumnos.SelectedIndex; lbl_registros.Content = "Registros: "+ (registroActual + 1) + " / "+ totalRegistros; //menu_registro_cancelar_Click(sender, e); } catch(IndexOutOfRangeExceptionex) { } } privatevoidmenu_archivo_guardarComo_Click(objectsender, RoutedEventArgse) { //Se guarda con otro nombre Microsoft.Win32.SaveFileDialogsfd = newMicrosoft.Win32.SaveFileDialog(); if(sfd.ShowDialog() == true) { nombre = sfd.FileName; Archivo.Guardar(nombre, datosAlumno, totalRegistros); //Se llama a la funcion guardar

modificado = false; } } privatevoidmenu_registro_guardar_Click(objectsender, RoutedEventArgse) { try//Bloque try para evitar que se guarden registros con datos vacios { if(modificar) //Si es posible modificar { Actualizar(registroActual); //Se llama a la funcion... menu_registro_guardar.Header= "Agregar"; modificar = false; } else { //Se agregan datos al arreglo temporal, siempre y cuando haya algo en los textbox datosAlumno[totalRegistros] = newDatos(); datosAlumno[totalRegistros].numero = int.Parse(tbx_numero.Text); datosAlumno[totalRegistros].nombre = tbx_nombre.Text; datosAlumno[totalRegistros].paterno = tbx_paterno.Text; datosAlumno[totalRegistros].materno = tbx_materno.Text; datosAlumno[totalRegistros].nacimiento = dtp_nacimiento.Text; registroActual = totalRegistros; totalRegistros++; if(!menu_registro_eliminar.IsEnabled) menu_registro_eliminar.IsEnabled = true; lv_alumnos.Items.Add(tbx_numero.Text); lbl_registros.Content = "Registros: "+ (registroActual + 1) + " / "+ totalRegistros; lv_alumnos.SelectedIndex = registroActual; } //Se habilitan y deshabilitan controles menu_registro_guardar.IsEnabled = false; menu_registro_nuevo.IsEnabled = true; menu_registro_cancelar.IsEnabled = false; menu_registro_actualizar.IsEnabled = true; modificado = true; } catch(FormatExceptionex) { //Mensaje que indica que aun faltan campos por llenar MessageBox.Show("Ingresa todos los campos Detalles:"+ ex.ToString(), "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } privatevoidWindow_Loaded(objectsender, RoutedEventArgse) { //Al cargar se deshabilitan ciertos botones menu_registro_guardar.IsEnabled = false; menu_archivo_guardar.IsEnabled = false; menu_archivo_guardarComo.IsEnabled = false; menu_registro_nuevo.IsEnabled = false;

menu_registro_eliminar.IsEnabled = false; menu_registro_cancelar.IsEnabled = false; menu_registro_actualizar.IsEnabled = false; } privatevoidmenu_archivo_cerrar_Click(objectsender, RoutedEventArgse) { if(modificado) { //Se indica al usuario que aun no ha guardado los registros MessageBoxResultrespuesta = MessageBox.Show("Saldras sin guardar, Deseas Guardar?", "Advertencia", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation); if(respuesta == MessageBoxResult.Yes) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); //Se guardan y se indica que ya no hay modificaciones modificado = false; } elseif(respuesta == MessageBoxResult.No) this.Close(); } elsethis.Close(); } privatevoidmenu_registro_nuevo_Click(objectsender, RoutedEventArgse) { //Se limpian.... tbx_nombre.Clear(); tbx_materno.Clear(); tbx_paterno.Clear(); tbx_numero.Clear(); dtp_nacimiento.Text=""; menu_registro_guardar.IsEnabled = true; menu_registro_nuevo.IsEnabled = false; lbl_registros.Content = "Registros Nuevo"; menu_registro_cancelar.IsEnabled = true; tbx_nombre.Focus(); menu_registro_eliminar.IsEnabled = false; menu_registro_actualizar.IsEnabled = false; lv_alumnos.SelectedIndex = -1; } privatevoidmenu_registro_eliminar_Click(objectsender, RoutedEventArgse) { //Se iguala a nulo el registro a eliminar datosAlumno[registroActual] = null; for(inti = registroActual; i < totalRegistros; i++) { datosAlumno[i] = datosAlumno[i+1]; // Se recorren los registros en el arreglo temporal } totalRegistros--; lv_alumnos.Items.RemoveAt(registroActual); //Se elimina el elemento de la lista if(totalRegistros > 0)

{ lv_alumnos.SelectedIndex = 0; //Se muestra el primer registro lbl_registros.Content = "Registros: "+ (registroActual + 1) + " / "+ totalRegistros; } else { //se limpian textbox etc, en caso de no haber registros tbx_nombre.Clear(); tbx_materno.Clear(); tbx_paterno.Clear(); tbx_numero.Clear(); dtp_nacimiento.Text = ""; lbl_registros.Content = "Sin Registros"; menu_registro_eliminar.IsEnabled = false; menu_registro_actualizar.IsEnabled = false; } modificado = true; } privatevoidmenu_registro_cancelar_Click(objectsender, RoutedEventArgse) { menu_registro_guardar.IsEnabled = false; } menu_registro_actualizar.IsEnabled = false; menu_registro_nuevo.IsEnabled = true; lv_alumnos.SelectedIndex = 0; menu_registro_cancelar.IsEnabled = false; if(totalRegistros == 0) { lbl_registros.Content = "Sin Registros"; } else { menu_registro_actualizar.IsEnabled = true; menu_registro_eliminar.IsEnabled = true; lv_alumnos.SelectedIndex = 0; } if(modificar) { modificar = false; menu_registro_guardar.Header = "Agregar"; } publicvoidActualizar(intindice) //Funcion para actualizar { //Se guardan los datos en el indice actual datosAlumno[indice].numero = int.Parse(tbx_numero.Text); datosAlumno[indice].nombre = tbx_nombre.Text; datosAlumno[indice].paterno = tbx_paterno.Text; datosAlumno[indice].materno = tbx_materno.Text; datosAlumno[indice].nacimiento = dtp_nacimiento.Text; lv_alumnos.Items[indice] = tbx_numero.Text; } privatevoidmenu_registro_actualizar_Click(objectsender, RoutedEventArgse)

{ modificar = true; } menu_registro_cancelar.IsEnabled = true; menu_registro_nuevo.IsEnabled = false; menu_registro_eliminar.IsEnabled = false; menu_registro_actualizar.IsEnabled = false; menu_registro_guardar.Header = "Guardar"; menu_registro_guardar.IsEnabled = true; tbx_nombre.Focus(); //lv_alumnos.SelectedIndex = -1; privatevoidventana_Closing(objectsender, System.ComponentModel.CancelEventArgse) { if(modificado) { //Se indica al usuario que saldra sin guardar los registros MessageBoxResultrespuesta = MessageBox.Show("Saldras sin guardar, Deseas Guardar?", "Advertencia", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation); if(respuesta == MessageBoxResult.Yes) { //Guardar Archivo.Guardar(nombre, datosAlumno,totalRegistros); modificado = false; } elseif(respuesta == MessageBoxResult.No) this.Close(); elsee.Cancel = true; } } } }

Clase para el manejo del archivo fsico


usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.IO; namespaceAlumneitor { publicstaticclassArchivo { //Funcion para crear el archivo publicstaticvoidCrear(stringnombre) { FileStreamflujo = newFileStream(nombre, FileMode.Create, FileAccess.Write); flujo.Close(); }

//Funcion para leer el archivo publicstaticBinaryReaderLeer(stringnombre, refinttotalRegistros) { FileStreamflujo = newFileStream(nombre, FileMode.Open, FileAccess.Read); BinaryReaderlectura = newBinaryReader(flujo); if(lectura.PeekChar() != -1) totalRegistros = (int)(Math.Ceiling((double)(flujo.Length / 70)) + 1); //Se obtiene total de registros elsetotalRegistros = 0; returnlectura; } publicstaticvoidGuardar(stringnombre, Datos[] datos, inttotalRegistros) { //Funcion para guardar FileStreamflujo = newFileStream(nombre, FileMode.Create, FileAccess.Write); BinaryWriterescritor = newBinaryWriter(flujo); for(inti = 0; i < totalRegistros; i++) //Se agregan todos los registros al archivo { escritor.BaseStream.Seek(70 * i, SeekOrigin.Begin); //Se define la longitud de cada registro a 70 bytes //Se escriben los datos en el archivo escritor.Write(datos[i].numero); escritor.Write(datos[i].nombre); escritor.Write(datos[i].paterno); escritor.Write(datos[i].materno); escritor.Write(datos[i].nacimiento); } flujo.Close(); escritor.Close(); } } }

Clase para los datos del registro


usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; namespaceAlumneitor { publicclassDatos { //Clase para manejar los datos del alumno publicintnumero; publicstringnombre; publicstringpaterno; publicstringmaterno; publicstringnacimiento; } }

Cdigo de XAML (WPF UI) Codigo XAML para el diseo de la interfaz dentro de WPF...
<Window x:Class="Alumneitor.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Title="Alumneitor"MinWidth="700"MinHeight="450"Icon="favicon.ico" Background="{DynamicResourceGradienteFondo}"Loaded="Window_Loaded"Name="ventana"Closing=" ventana_Closing"Height="283"> <Window.Resources> <Storyboardx:Key="OnGotFocus1"> <DoubleAnimationUsingKeyFramesStoryboard.TargetProperty="(UIElement.Opacity)"Storyboard.T argetName="dtp_nacimiento"> <EasingDoubleKeyFrameKeyTime="0"Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </Window.Resources> <Window.Triggers> <EventTriggerRoutedEvent="FocusManager.GotFocus"SourceName="dtp_nacimiento"> <BeginStoryboardx:Name="OnGotFocus1_BeginStoryboard"Storyboard="{StaticResourceOnGotFocus 1}"/> </EventTrigger> <EventTriggerRoutedEvent="Keyboard.GotKeyboardFocus"SourceName="dtp_nacimiento"> <BeginStoryboardx:Name="OnGotFocus1_BeginStoryboard1"Storyboard="{StaticResourceOnGotFocu s1}"/> </EventTrigger> <EventTriggerRoutedEvent="FocusManager.LostFocus"SourceName="dtp_nacimiento"> <RemoveStoryboardBeginStoryboardName="OnGotFocus1_BeginStoryboard"/> </EventTrigger> <EventTriggerRoutedEvent="Keyboard.LostKeyboardFocus"SourceName="dtp_nacimiento"> <RemoveStoryboardBeginStoryboardName="OnGotFocus1_BeginStoryboard"/> </EventTrigger> </Window.Triggers> <Grid> ght="120"MaxHeight="120"/> <Grid. <RowDefinitionHeight="120"MinHeight="120"MaxHeight="120"/> RowDe </Grid.RowDefinitions> finition <Grid.ColumnDefinitions> s> <ColumnDefinitionWidth="0.317*"/> <RowD efinitio nMinH eight=" 40"Hei ght="4 0"Max Height ="40"/> <RowD efinitio nHeigh t="120" MinHei ght="1 20"Ma xHeigh t="120" /> <RowD efinitio nHeigh t="120" MinHei

<ColumnDefinitionWidth="0.342*"MinWidth="250"/> <ColumnDefinitionWidth="0.342*"MinWidth="250"/> </Grid.ColumnDefinitions> <Menux:Name="menu"Grid.ColumnSpan="3"MinHeight="40"MaxHeight="40"RenderTransformOrigin= "0.5,0.5"VerticalContentAlignment="Stretch"Padding="10,0,0,0"> <Menu.Background> <LinearGradientBrushEndPoint="0,1"StartPoint="0,0"> <GradientStopColor="#FF04191B"Offset="1"/> <GradientStopColor="#FF1D1D1D"/> </LinearGradientBrush> </Menu.Background> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo"Header="Archivo"> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo_nuevo"Header="Nuevo "/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo_abrir"Header="Abrir ..."/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo_guardar"Header="Gua rdar"/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo_guardarComo"Header= "Guardar como..."/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo_cerrar"Header="Cerr ar"/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_archivo_salir"Header="Salir "/> </MenuItem> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_registro"Header="Registro"M argin="2,0"> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_registro_nuevo"Header="Nuev o registro"/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_registro_guardar"Header="Gu ardar"/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_registro_actualizar"Header= "Actualizar"/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_registro_eliminar"Header="E liminar"/> <MenuItemStyle="{DynamicResourceMenuItemStyle}"x:Name="menu_registro_cancelar"Header="C ancelar cambios"/> </MenuItem> </Menu> <ListViewx:Name="lv_alumnos"Style="{DynamicResourceListViewStyle}"Margin="15,8,20,40"Bo rderBrush="White"Grid.RowSpan="3"Grid.Row="1"SelectionChanged="lv_alumnos_SelectionChan ged" /> <LabelContent="Nombre"Style="{DynamicResourcelabelStyle}"Grid.Column="1"Grid.Row="1"/> <LabelContent="Apellido Paterno"Style="{DynamicResourcelabelStyle}"Grid.Column="1"Grid.Row="2"/> <LabelContent="Nacimiento"Style="{DynamicResourcelabelStyle}"Grid.Column="2"Grid.Row="3 "/> <LabelContent="Apellido Materno"Style="{DynamicResourcelabelStyle}"Grid.Column="2"Grid.Row="2"/> <LabelContent="Nmero de Control"Style="{DynamicResourcelabelStyle}"Grid.Column="1"Grid.Row="3"/> <TextBoxx:Name="tbx_nombre"Style="{DynamicResourcetextBoxStyle}"TextWrapping="Wrap"Vert icalAlignment="Top"Grid.Column="1"Grid.Row="1"

Grid.ColumnSpan="2"/> <TextBoxx:Name="tbx_numero"Style="{DynamicResourcetextBoxStyle}"TextWrapping="Wrap"Vert icalAlignment="Top"Grid.Column="1"Grid.Row="3"/> <TextBoxx:Name="tbx_paterno"Style="{DynamicResourcetextBoxStyle}"TextWrapping="Wrap"Ver ticalAlignment="Top"Grid.Column="1"Grid.Row="2"/> <TextBoxx:Name="tbx_materno"Style="{DynamicResourcetextBoxStyle}"TextWrapping="Wrap"Ver ticalAlignment="Top"Grid.Column="2"Grid.Row="2"/> <DatePickerx:Name="dtp_nacimiento"Style="{DynamicResourceDatePickerStyle}"DisplayDate=" 1990-0101"FirstDayOfWeek="Monday"Grid.Row="3"Margin="30.073,40,95,53"BorderThickness="0"Grid.C olumn="2"CalendarStyle="{DynamicResourceCalendarStyle}"d:LayoutOverrides="GridBox"> <DatePicker.BorderBrush> <LinearGradientBrushEndPoint="0.5,0"StartPoint="0.5,1"> <GradientStopColor="#FFA3AEB9"Offset="0"/> <GradientStopColor="#FF8399A9"Offset="0.375"/> <GradientStopColor="#FF718597"Offset="0.375"/> <GradientStopColor="#00000000"Offset="1"/> </LinearGradientBrush> </DatePicker.BorderBrush> </DatePicker> <Labelx:Name="lbl_registros"Content="Sin Registros"Style="{DynamicResourcelabelStyle}"Grid.Row="3"Margin="15,0,0,0"VerticalAlign ment="Bottom"Foreground="White"/> </Grid> </Window>

Potrebbero piacerti anche