Descripción
Esta aplicación consiste en un listado de libros en el cual se muestra el título del libro, el autor y la fecha de devolución de éste. Así se puede tener una constancia de los libros que tienes prestados y cuando debes devolverlos.
Capturas de pantalla
Enlace de descarga
http://www.windowsphone.com/es-ES/apps/9c2099d4-b96f-4ec6-9a3e-e78566a2e506
]]>
MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();
marketplaceReviewTask.Show();
Agradecimientos: cjgaliana
]]>
La utilizaremos para mostrar un simple diálogo
private void bt1_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("Caja de diálogo simple");
}
Las utilizaremos para que el usuario elija entre “Aceptar” y “Cancelar” (“OK” y “Cancel”)
private void bt2_Click(object sender, RoutedEventArgs e)
{
MessageBoxResult respuesta;
respuesta = MessageBox.Show("Selecciona una opción", "Mensaje", MessageBoxButton.OKCancel);
if (respuesta == MessageBoxResult.OK)
{
tb.Text = "Se ha seleccionado ACEPTAR";
}
else
{
tb.Text = "Se ha seleccionado CANCELAR";
}
}
Más abajo os dejo un proyecto con los ejemplos hechos.
Si queréis crear cajas de diálogo personalizadas con otras opciones y algún checkbox para recordar alguna opción, os recomiendo visitar esta web: http://blogs.microsoft.co.il/blogs/tomershamam/archive/2010/10/19/windows-phone-7-custom-message-box.aspx

______________________________________
]]>Para obtener este color (Color de énfasis / Phone accent color) es muy sencillo.
En el siguiente ejemplo, yo establezco el color de énfasis al titulo de la aplicación :
PageTitle.Foreground = new SolidColorBrush((Color)Resources["PhoneAccentColor"]);
Espero que os resulte útil a los que estáis empezando con Windows Phone 7 ![]()
Éste panel permite situar los controles en una tabla de filas y columnas. En cada casilla, podemos colocar más de un control.
<Grid>
<!--Definimos las columnas que vamos a usar-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<!--Definimos las filas que vamos a usar-->
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Image Grid.Column="0" Grid.Row="0"
Source="/WpfApplication1;component/Images/1.png"/>
<Image Grid.Column="1" Grid.Row="0"
Source="/WpfApplication1;component/Images/2.png"/>
<Image Grid.Column="2" Grid.Row="0"
Source="/WpfApplication1;component/Images/3.png"/>
<Image Grid.Column="0" Grid.Row="1"
Source="/WpfApplication1;component/Images/4.png"/>
<Image Grid.Column="1" Grid.Row="1"
Source="/WpfApplication1;component/Images/5.png"/>
<Image Grid.Column="2" Grid.Row="1"
Source="/WpfApplication1;component/Images/6.png"/>
</Grid>
Agrupa los elementos de izquierda a derecha o de arriba abajo, pero a diferencia del StackPanel, al llegar al final cambia de fila.
<WrapPanel Orientation="Horizontal">
<Image Width="75" Source="/WpfApplication1;component/Images/1.png"/>
<Image Width="75" Source="/WpfApplication1;component/Images/2.png"/>
<Image Width="75" Source="/WpfApplication1;component/Images/3.png"/>
<Image Width="75" Source="/WpfApplication1;component/Images/4.png"/>
<Image Width="75" Source="/WpfApplication1;component/Images/5.png"/>
<Image Width="75" Source="/WpfApplication1;component/Images/6.png"/>
</WrapPanel>
En el panel Canvas, los elementos se sitúan según las coordenadas que se le indiquen
<Canvas>
<Image Source="/WpfApplication1;component/Images/1.png"
Canvas.Top="0" Canvas.Left="0"/>
<Image Source="/WpfApplication1;component/Images/2.png"
Canvas.Top="100" Canvas.Left="100"/>
<Image Source="/WpfApplication1;component/Images/3.png"
Canvas.Top="0" Canvas.Left="200"/>
</Canvas>
Si queréis obtener más información sobre los distintos paneles de WPF os recomiendo que visitéis la web de tutoriales de Christian Mosers :
]]>
El StackPanel es un panel de diseño simple y útil. Apila sus elementos de arriba a abajo / izquierda a derecha, según su orientación (horizontal y vertical). Si no se indica nada, la alineación por defecto será vertical.
<StackPanel>
<TextBlock FontSize="26" HorizontalAlignment="Center">
1
</TextBlock>
<TextBlock FontSize="26" HorizontalAlignment="Center">
2
</TextBlock>
<TextBlock FontSize="26" HorizontalAlignment="Center">
3
</TextBlock>
<TextBlock FontSize="26" HorizontalAlignment="Center">
4
</TextBlock>
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock FontSize="26" HorizontalAlignment="Center">
1
</TextBlock>
...
</StackPanel>
El DockPanel proporciona que un elemento se acople a la izquierda, a la derecha, al centro, arriba o abajo.
<DockPanel>
<Button Content="Arriba" DockPanel.Dock="Top"/>
<Button Content="Abajo" DockPanel.Dock="Bottom"/>
<Button Content="Izquierda" DockPanel.Dock="Left"/>
<Button Content="Derecha" DockPanel.Dock="Right"/>
<Button Content="Botón"/>
</DockPanel>
[WPF] Layout (2ª Parte) -->
Para toda la gente que quiera deshabilitar el plug-in de Chrome y volver al de Abode, el proceso es muy sencillo.
Una vez hecho esto, ya volveremos a ver los documentos PDF con el plug-in de Adobe.
]]>Con Windows Phone 7 esto es muy sencillo. Algunas de las tareas que podemos realizar son:
Todas ellas pertenecientes al namespace: Microsoft.Phone.Tasks
Yo para este ejemplo voy a usar PhoneCallTask, EmailComposeTask, SmsComposeTask, SearchTask y MarketplaceSearchTask. Para ello, he creado un proyecto de Windows Phone 7 con 5 botones y a cada uno le he asignado su correspondiente evento:
private void btLlamada_Click(object sender, RoutedEventArgs e)
{
PhoneCallTask task = new PhoneCallTask();
task.PhoneNumber = "123456789";
task.DisplayName = "Ejemplo";
task.Show();
}
private void btEmail_Click(object sender, RoutedEventArgs e)
{
EmailComposeTask task = new EmailComposeTask();
task.To = "ejemplo@miguelangelcv.es";
task.Subject = "Esto es un ejemplo";
task.Body = "Cuerpo del mensaje ... ";
task.Show();
}
private void btSMS_Click(object sender, RoutedEventArgs e)
{
SmsComposeTask task = new SmsComposeTask();
task.To = "123456789";
task.Body = "Hola!
";
task.Show();
}
private void btBuscar_Click(object sender, RoutedEventArgs e)
{
SearchTask task = new SearchTask();
task.SearchQuery = "Albacete";
task.Show();
}
private void btMarketPlace_Click(object sender, RoutedEventArgs e)
{
MarketplaceSearchTask task = new MarketplaceSearchTask();
task.ContentType = MarketplaceContentType.Applications;
task.SearchTerms = "Bye Bye Brain";
task.Show();
}
Si queréis ver como utilizar otras “task”, aquí os dejo el enlace a un post en el que utilizan muchas de ellas:
]]>Para registrarlo es muy sencillo, abrimos Visual C# Express y hacemos clic en el menú ”Help” y después a “Register Product”. A continuación nos saldra una ventana como la siguiente
Aquí debemos hacer clic en “Obtain a registration key online” y rellenar un formulario. Una vez rellenado dicho formulario, recibiremos en nuestro correo electrónico la clave de registro que hay que introducir en esta ventana.
Una vez hecho todo esto, ya tendremos Visual C# Express 2010 listo para trabajar.

Ahora que está todo listo, vamos a crear el proyecto en el que desarrollaremos nuestra primera aplicación. Para ello, hacemos clic en el menú “File” y en “New Proyect”. En la ventana que nos aparecerá a continuación, debemos elegir “Windows Forms Application” e introducir el nombre de dicho proyecto en la parte inferior (yo lo llamaré “HolaMundo”).
Ya con el proyecto creado nos encontraremos con una nueva pantalla en la que distinguimos tres zonas. En la zona central, nos aparecerá una ventana donde agregaremos los componentes y escribiremos el código de nuestra aplicación. En la parte izquierda nos encontraremos con la caja de herramientas que contiene todos los controles que podemos usar. Y por último, en la parte derecha nos encontraremos con el explorador de archivos en la parte superior y la ventana de propiedades en la parte inferior. Si alguno de estas cajas no os aparece, debéis ir al menú “View” -> “Other Windows” y comprobar que tenéis seleccionadas “Properties Window”, “Solution Explorer” y “Toolbox”
Una vez terminado la pequeña introducción a Visual C# Express 2010, vamos a crear nuestra primera aplicación. Va a ser algo sencillo: Un botón que muestre una nueva ventana con un mensaje. Para ello en caja de herramientas buscamos el control “Button” (Botón) al formulario que tenemos en la parte central y una vez situado, le hacemos doble clic. Ahora nos llevara al editor en el cual nos habrá aparecido un nuevo método llamado “button1_Click”, que sera llamado cuando hagamos clic en el boton. Por último añadimos:
MessageBox.Show(“Hola Mundo!”);
Con esto lo que hacemos es que cada vez que hagamos clic sobre el botón, nos saldrá una nueva ventana con el texto “Hola Mundo!”
Así es como os debe quedar el código:
También podéis cambiar el texto del botón haciendo clic sobre el botón y buscando la propiedad “Text” en la ventana de propiedades que esta situada abajo a la izquierda. Lo mismo si queréis cambiar el nombre a la ventana, seleccionáis la ventana en el editor y buscáis la propiedad “Text”. Ahí podéis poner “Mi primera aplicación” en vez de “Form1″
Espero que para los que estáis empezando os sirva de ayuda
Una de las principales novedades que traerá la nueva versión de Windows Live Messenger, es la integración con las redes sociales. Pues bien, Windows Live Messenger permitirá chatear con tus contactos de Facebook desde la aplicación.
Para habilitar la opción de “Chat”, nos vamos a http://profile.live.com, buscamos los servicios que tenemos agregados a Windows Live y hacemos clic en “Manage / Administrar”
Ahora hacemos clic en Editar las opciones de Facebook y ya tenemos la opción “Charlar con mis amigos de Facebook en Messenger” disponible para habilitar.
Siguiendo estos pasos, ya deberíamos tener habilitado el chat de Facebook en Windows Live.
Espero que os sea útil y os funcione a todos
En algunas ocasiones resulta más rapido usar el teclado en vez de el ratón. El otro día me encontré con algunas funciones útiles utilizando la combinación
+ [Tecla]. Aquí dejo las que conozco. Si alguien conoce alguna otra que no esté listada, dejadla en un comentario y la añado a la lista
+ E = Muestra la ventana “Equipo”
+ R = Ejecutar…
+ Barra Espaciadora = Vista previa del escritorio
+ D = Escritorio
+ F = Buscar
+ G = Muestra los Gadgets
+ L = Bloquea el equipo
+ X = Centro de Movilidad
+ T = Muestra las miniaturas de los programas en ejecución de la barra de tareas. Si se vuelve a pulsar la combinación, cambia de miniatura.
+ U = Centro de accesibilidad
+ P = Opciónes para presentación con proyector
+ [Num] = Abre el programa situado en la posición “x” en la barra de tareas.
Espero que os sean útiles
[NOTA: Funcionan para Windows 7]
]]>En este post voy a explicar 3 algoritmos: ordenación por el método de la burbuja, ordenación por el método de inserción y ordenación por el método quicksort.
El método de la burbuja consiste en comparar el primer elemento con el segundo, el segundo con el tercero, … , hasta que en una de las comparaciones ocurra que el primer elemento a comparar es mayor que el siguiente. En tal caso, se intercambian los valores y se sigue con la comparación. Al llegar a la última comparación, se vuelve a empezar. Este proceso se repite hasta que no se produzca ningún intercambio, o en el peor de los casos, hasta “n –1” vueltas (siendo n el número de elementos a comparar).
Ejemplo:
Este método consiste en insertar un elemento en la posición correspondiente con respecto a otros dos previamente ya ordenados.
El algoritmo basado en el método quicksort es el más eficiente de todos. Consiste en elegir un elemento al que llamaremos “pivot”, sobre el cual se van ordenando el resto de los elementos. Si es menor a la izquierda y si es mayor a la derecha. Una vez terminado el primer ciclo, se envían las listas izquierda y derecha de elementos situadas entre “pivot”. Este proceso se repite hasta que las listas enviadas sean de 1 solo elemento.
Ejemplo:
Código:
1: for (int i = 1; i <= vector.Length; i++)
2: {
3: cambio = false;
4: for (int j = 0; j < vector.Length - i; j++)
5: {
6: if (vector[j] >= vector[j + 1])
7: {
8: temp = vector[j + 1];
9: vector[j + 1] = vector[j];
10: vector[j] = temp;
11: cambio = true;
12: }
13: }
14: if (cambio == false) break;
15: }
Después de tener tanto tiempo abandonado el blog, ¡ya estoy de vuelta!
Sé que ha pasado bastante tiempo desde mi último post, pero he estado un poco liado entre los estudios y el trabajo. Espero que esta vez pueda postear con más frecuencia, aparte de que ahora voy a postear sobre otros temas de los que nunca he escrito. He podido recuperar algunas entradas de mi antiguo blog por si a alguien le sirvieran de interés, ya que he cambiado a WordPress.
Tambien tengo que agradecer a un buen amigo que me haya animado a seguir posteando.
Un saludo,
Miguel Ángel
]]>Ultimamente, unos compañeros de clase me han estado preguntando sobre qué es y cómo funciona el Modo Windows XP y me he decidido a escribir un post para hablar sobre él.
El Modo Windows XP es una nueva característica de Windows 7 que nos permite ejecutar programas antiguos, tal y como si lo estuviéramos haciendo en un equipo con Windows XP gracias a la Virtualización.
Requisitos
Para trabajar con el modo Windows XP, necesitamos cumplir con los siguientes requisitos:
1) Disponer de una versión Professional, Ultimate o Enterprise de Windows 7
2) 1GB de memoria RAM adicional.
3) 15GB de espacio libre en nuestro disco duro.
4) Un procesador compatible con virtualización (Para saber si tu procesador es compatible, mira este artículo de Wikipedia , o usar unas aplicaciones de Intel o AMD para identificar las características de vuestro procesador).
5) Windows Virtual PC.
Instalación
Los archivos que necesitamos comenzar la instalación son: Windows Virtual PC y la Máquina Virtual de Windows XP, que podemos encontrarlos en:
http://www.microsoft.com/windows/virtual-pc/default.aspx
Una vez que estemos en dicha página, necesitamos indicar la versión de Windows 7 con la que estamos trabajando (distinguiendo también entre 32 y 64 bits) y el idioma.
Cuando tengamos ambos archivos descargados en nuestra máquina comenzamos por instalar “Windows Virtual PC” y después “Windows XP Mode” (tras la instalación de Virtual PC, debemos reiniciar el equipo).
Una vez instalados, se nos creará una carpeta llamada “Windows Virtual PC” con la aplicación y el “Modo Windows XP”.
Llegados a este punto ya tenemos todo hecho. Ahora vamos a ver cómo instalar un programa para ejecutarlo en Modo Windows XP
Arrancamos “Windows XP Mode” y esperamos a que termine de cargar. Tras la carga, podemos ver que es el propio Windows XP en si (cargado en una máquina virtual).
En la parte de arriba de Virtual PC, tenemos una opción llamada “USB”. Si tuviéramos el programa a instalar en un disco duro externo o memoria USB, podemos incorporar dicha unidad a la maquina virtual para poder trabajar con ella. También podemos incorporar imágenes ISO (Ver menú “Herramientas” –> “Configuración” –> “Unidad de DVD”). Para instalar el programa debemos hacerlo como lo hemos hecho siempre (ejecutando el archivo .exe, introduciendo el CD/DVD…). Una vez instalada la aplicación, podemos cerrar Virtual PC.
Yo para este ejemplo voy a instalar TMPGEnc (un programa de edición de vídeo).
Una vez completada la instalación, si vamos al menú inicio de Windows 7 y a la carpeta “Windows Virtual PC”, nos aparecerá otra nueva carpeta llamada “Aplicaciones de Windows XP Mode” donde nos aparecerán las aplicaciones que instalemos en la máquina virtual de Windows XP. En caso de que instaléis la aplicación y no os aparezca el acceso directo en la carpeta de aplicaciones, reiniciar la máquina virtual desde el menú “Acción”.
Ahora cuando ejecutemos la aplicación nos aparecerá de la siguiente manera:
Como podemos ver en la imagen, distinguimos las aplicaciones ejecutadas en modo Windows XP porque aparecen con el estilo de ventana de éste.
Si tenéis alguna duda, no dudéis en preguntar

Consiste en usar un Gadget que hay para iGoogle, pero sólo está disponible para Estados Unidos (pero se puede acceder desde España o cualquier otro país sin problema). Lo primero que debemos hacer es agregar el Gadget de Google Latitude a nuestro iGoogle. Tras agregarlo nos saldrá algo así:
No hay que preocuparse, hasta ahora va todo bien. Es lo que os decía, el Gadget no funciona porque no estamos en USA. Pero si hacemos clic abajo del todo donde pone “iGoogle in English”
![]()
nos aparecerá iGoogle en Inglés, pero ya podremos acceder a Latitude:
Para volver al Google de nuestro país, vamos a la barra de direcciones de nuestro navegador y en vez de “http://www.google.com/ig?hl=en” lo cambiamos por “http://www.google.es/ig?hl=es” (en el caso de España).
Espero que este truquillo os sirva de ayuda.
Un saludo
ACTUALIZACIÓN (12/04/2010):
El gadget de Google Latitude ya esta disponible para todos los paises. Solo hay que buscarlo en la galería de Gadgets de iGoogle.
]]>Si HTC ya tiene su propio dispositivo con Android (Sony Ericsson y Toshiba anunciaron planes hace poco), ahora le llega el turno a Morotorla. Hace poco se decantaron por Symbian pero ahora han confirmado que lo abandonan a favor del sistema operativo para móviles de la alianza Open Handset (Google y compañía, para entendernos).
Dicen que esto paralizara durante este próximo año la producción de móviles de Motorola para poder adaptar los terminales, pero que para las próximas Navidades ya esperan tener móviles equipados con Android. Tendrán en rueda tres SS.OO, Android para los dispositivos orientados al mundo multimedia, Windows Mobile para los dispositivos profesionales y avanzados, y uno propietario para los modelos más básicos.
Así que para aquel que le guste desarrollar aplicaciones para dispositivos móviles, se va a poner la cosa interesante en 2009 (vamos a tener a las 3 principales compañias de sistemas operativos móviles estirándose de los pelos, jeje).
Si quereis leer la noticia completa, os pongo el enlace a elmundo.es (donde lo he leido yo)
Universidad de Hull (Reino Unido).
Esta hecho para aquella gente que quiere empezar a estudiar el lenguaje C# desde 0. Lo he ojeado por encima y tiene muy buena pinta, está actualizado a este año según su página web. Ya me contareis vosotros que os ha parecido.
Haced clic sobre el libro para descargarlo, ocupa 1.4MB y está en formato PDF.
]]>Este Framework se llama NET60 Compact Framework y ahora mismo va por su versión 1.1 (que salió la semana pasada). Ahora como novedades tiene:
La pega es que no es gratuito. Tienen una versión de evaluación de 30 días, pero tras terminar ese periodo tienes que pagar 460€ por una licencia de 250 implementaciones
Aquí pongo unas capturas de controles de WinForms bajo un dispositivo Symbian y un Windows Mobile:



Por si a alguien le interesa saber mas sobre NET60, os pongo el enlace:
www.redfivelabs.com
]]>El caso es que si te vas a “Panel de control -> Reproducción automática” todo parece normal, pero no funciona.
Para solucionarlo, hay que ir las opciones del propio VMware (arrancando como administrador). Al hacer click en Edit –> Preferences, te aparece una opción para volver ha habilitar la reproducción automática.
Sólo hay que deshabilitar “Disable Autorun on the host” (dejarlo tal y como esta en la foto).
Hasta aquí todo normal, pero cuando conecto un Pendrive o un Disco Duro Externo la reproducción automática no funciona (cosa que cuando metes un CD o DVD, vuelve a funcionar).
He estado preguntando a gente y no les ocurre lo mismo que a mi, así que me ha tocado echar mano de Google y buscar por Internet una solución.
Ahora toca hacer lo siguiente: Ir al editor del registro (regedit.exe) y localizar el siguiente directorio
Equipo\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
Una vez dentro de dicho directorio buscar el DWORD con nombre “NoDriveTypeAutoRun” (si no lo encontráis podéis buscarlo en Edición -> Buscar) y poner el valor a 91.
Al reiniciar el equipo ya volverá a funcionar la reproducción automática en Pendrives y Discos Duros Externos.
]]>