Transcript
Interfaces de Usuario
Grado en Ingeniería Informática en Tecnologías de la Información .
Departamento de Estadística, Matemática e Informática
Área de Lenguajes y Sistemas Informáticos
Práctica 4 Opcional
Aplicación Windows Phone
Blend.
-1Práctica 4 Opcional
Aplicación Windows Phone con Blend.
Curso 2014/2015.
Interfaces de Usuario
Grado en Ingeniería Informática en Tecnologías de la Información .
Departamento de Estadística, Matemática e Informática
Área de Lenguajes y Sistemas Informáticos
1. Objetivos fundamentales:
El objetivo principal es diseñar una aplicación Windows Phone a
través del entorno de diseño Blend.
La práctica se entregará a través de la plataforma virtual epso en
su correspondiente apartado de tareas. Se deberá entregar en un
archivo comprimido, controlar el tamaño que no exceda de 10
megas. Todos aquellos archivos que sean detectados como virus
no serán corregidos. La fecha límite de entrega será el 16 de Enero.
2. Descripción de la práctica.
Realizaremos una sencilla práctica para mostrar la potencia gráfica que
nos aporta Windows Phone. La aplicación se realizará sobre Microsoft Blend,
seleccionando para ello un proyecto Aplicación de Windows Phone. Para realizar
la práctica correctamente y poder utilizar Expression Blend como diseñador de
aplicaciones Windows Phone, deberemos descargarnos la SDK desde este
enlace:
http://www.microsoft.com/download/en/details.aspx?id=27570
Lamentablemente no ofrece soporte para usuarios de Windows XP,
siendo Windows Vista la versión mínima que deberemos tener instalada para
poder trabajar.
1. Requerimientos:
o Página principal que contenga la interfaz de la calculadora:
1.1. Calculadora.
Para implementar esta aplicación se utilizará un objeto WrapPanel,
que contendrá todos los botones de la aplicación. Este objeto nos
proporciona la ventaja que ordena los objetos que se van
introduciendo de izquierda a derecha, y de arriba hacia abajo, siendo
especialmente útil para la disposición de los botones de la calculadora
de forma automática. Este control no se encuentra disponible por
defecto en Expression Blend, sino que deberemos obtenerlo
externamente. Para ello, nos descargaremos Silverlight for Windows
Phone
Toolkit
desde
esta
dirección:
http://silverlight.codeplex.com/releases/view/52297
y lo instalaremos (en
determinados casos habiéndonos descargado con anterioridad la SDK
de Windows Phone bastaría para poder trabajar y no sería necesaria
-2-
Práctica 4 Opcional
Aplicación Windows Phone con Blend.
Curso 2014/2015.
Interfaces de Usuario
Grado en Ingeniería Informática en Tecnologías de la Información .
Departamento de Estadística, Matemática e Informática
Área de Lenguajes y Sistemas Informáticos
la instalación de estas librerías, pero se han dado casos en los que no
ha sido suficiente con dicha instalación, por eso es conveniente
descargar e instalar estas otras librerías).
Para que funcione el método OnNavigatedTo deberemos incluir la
siguiente línea de código en el archivo Calculadora.xaml.cs después
de incluir el resto de librerías:
using System.Windows.Navigation;
A continuación, para poder disponer del objeto WrapPanel dentro de
nuestra aplicación lo único que deberemos hacer es seleccionar la
pestaña Proyectos en Blend, buscaremos el icono References,
hacemos clic con el botón derecho sobre este texto y escogemos la
opción agregar referencia. Lo único que nos queda es buscar donde
se encuentra la librería del componente, su ruta es la siguiente:
C:\Program
Files
(x86)\Microsoft
Phone\v7.0\Toolkit\Sep10\Bin
y
Microsoft.Phone.Controls.Toolkit.dll.
SDKs\Windows
seleccionamos
Se pide implementar una aplicación que simule el funcionamiento de
una calculadora. Se deberá tener en cuenta las operaciones de cálculo
principales (sumar, restar, multiplicar y dividir). Tan sólo se controlará
la operación más sencilla que es la resultante de introducir operando
+ operador + operando + igual resultado
Este código que se muestra a continuación es el que debe aparecer
en la página Calculadora.xaml.cs. El control para mostrar los
resultados y código auxiliar se muestra a continuación. Deberéis
completar la funcionalidad en los apartados marcados con
Implementar :
namespace Calculator
{
public
{
/* Implmentar. Declarar un tipo enumerado llamado TiposOperadores con los
valores Nada, Suma, Resta, Multiplicacion, Division */
}
public partial class MainPage : PhoneApplicationPage
{
TiposOperadores Operador = TiposOperadores.Nada;
bool esNuevoNumero = false; /*cuando se introduzca un número será falso, y los
operadores lo pondrán a true*/
double previousNumber = 0;//variable auxiliar
public double DisplayNumber /* Nos declaramos una variable que actuará como propiedad*/
{
/*Bloques get y set utilizados para accede a una propiedad (lectura/escritura) Más
información en:
http://msdn.microsoft.com/es-es/library/w86s7x04(v=vs.80).aspx*/
-3Práctica 4 Opcional
Aplicación Windows Phone con Blend.
Curso 2014/2015.
Interfaces de Usuario
Grado en Ingeniería Informática en Tecnologías de la Información .
Departamento de Estadística, Matemática e Informática
Área de Lenguajes y Sistemas Informáticos
get { return (double)GetValue(DisplayNumberProperty); }
set { SetValue(DisplayNumberProperty, value); }
}
public static readonly DependencyProperty DisplayNumberProperty =
DependencyProperty.Register("DisplayNumber", typeof(double), typeof(MainPage), null);
public MainPage()
{
InitializeComponent();
}
protected override void OnNavigatedTo(NavigationEventArgs args)
{
DataContext = this;
DisplayNumber = 0;
}
private void BotonLimpiar_Click(object sender, System.Windows.RoutedEventArgs e)
{
//Implementar. Muestra en pantalla de la calculadora un 0
}
private void BotonNumero_Click(object sender, System.Windows.RoutedEventArgs e)
{
addToDisplayNumber(double.Parse(((Button)sender).Content.ToString()));
/* Llama a la function para mostrar en pantalla, pasándole como argumento un
valor que en sus inicios era una string y luego es convertida a double*/
}
private void BotonSumar_Click(object sender, System.Windows.RoutedEventArgs e)
{
/*Implementar. Asigna el operador suma a la variable de tipo Operador y
deberíamos controlar que se ha introducido un operador y no un número*/
}
private void BotonRestar_Click(object sender, System.Windows.RoutedEventArgs e)
{
/*Implementar. Asigna el operador resta a la variable de tipo Operador y
deberíamos controlar que se ha introducido un operador y no un número */
}
private void BotonMultiplicar_Click(object sender,
System.Windows.RoutedEventArgs e)
{
/* Implementar. Asigna el operador multiplicación a la variable de tipo Operador
y deberíamos controlar que se ha introducido un operador y no un número */
}
private void BotonDividir_Click(object sender, System.Windows.RoutedEventArgs e)
{
/* Implementar. Asigna el operador división a la variable de tipo Operador y
deberíamos controlar que se ha introducido un operador y no un número*/
-4Práctica 4 Opcional
Aplicación Windows Phone con Blend.
Curso 2014/2015.
Interfaces de Usuario
Grado en Ingeniería Informática en Tecnologías de la Información .
Departamento de Estadística, Matemática e Informática
Área de Lenguajes y Sistemas Informáticos
}
private void BotonIgual_Click(object sender, System.Windows.RoutedEventArgs e)
{
switch (Operador)
{
/* Implementar. Controlar con un switch el operador introducido y resultado
que se muestra en pantalla */
}
esNuevoNumero = true; /*obligamos a que después de la operación, se realice
un reasignación de números*/
}
void addToDisplayNumber(double digit)
{
/* Implementar. Controlaremos si el dígito introducido y que se deberá mostrar
en pantalla sea un nuevo número partiendo desde los siguientes casos:
el valor de pantalla igual a 0,
nuevo número partiendo desde el valor de pantalla de un número anterior
y habiendo pulsado un operador con anterioridad
y por último controlaremos que si el valor introducido no es un nuevo
número y no se encontraba el 0 en pantalla, mostrar el número
introducido. Ej: Si en pantalla existe un 1 y volvemos a teclear otro
número, por ejemplo el 2, mostrar el 12 en pantalla */
}
}
}
}
El aspecto gráfico que tendrá nuestra calculadora por defecto será el
mostrado a continuación:
-5-
Práctica 4 Opcional
Aplicación Windows Phone con Blend.
Curso 2014/2015.
Interfaces de Usuario
Grado en Ingeniería Informática en Tecnologías de la Información .
Departamento de Estadística, Matemática e Informática
Área de Lenguajes y Sistemas Informáticos
Se valorará usabilidad de la aplicación, así como el uso de directrices
de guías de estilo/diseño, estándares, etc.
-6Práctica 4 Opcional
Aplicación Windows Phone con Blend.
Curso 2014/2015.