Ir al contenido principal

Entradas

Mostrando entradas de 2012

[Silverlight] Hacer binding a las propiedades de un UserControl

Hola a todos. Ahora voy a explicar un problema que me ha surgido hace unos días y me gustaría compartir por si alguna vez os encontráis en la misma situación. Escenario: Tenemos un proyecto en Silverlight y hemos creado un UserControl porque lo vamos a utilizar en mas de una vista y no vamos a duplicar el código. Problema 1: ¿Cómo comunico los datos de mi UserControl con el exterior? En este caso, creamos una Dependency Property por cada uno de los campos que queremos "comunicar" private DependencyProperty UserNameProperty =             DependencyProperty.Register("UserName", typeof(string), typeof(UserForm), new PropertyMetadata(string.Empty)); Luego definimos una property pública para enlazar esta Dependecy Property : [System.ComponentModel.Category("User properties")] [System.ComponentModel.Description("User Name")] public string UserName {      get { return (string)GetValue(UserNameProperty); }      set { SetV

[Silverlight] ComboBox con datos de un enumerado

Hola a todos. Hoy vamos a ver como hacer un binding en un ComboBox con los valores de un enumerado. La idea es que usamos el combo con valores de texto, pero después tenemos que convertir al enumerado correspondiente. Primero vamos a crear una función para convertir el enumerado en un array de elementos Enum. public Enum[] EnumToArray(Enum enumeration)       //get the enumeration type       Type et = enumeration.GetType();       //get the public static fields (members of the enum)       System.Reflection.FieldInfo[] fi = et.GetFields(BindingFlags.Static | BindingFlags.Public);       //create a new enum array       Enum[] values = new Enum[fi.Length];     //populate with the values     for (int iEnum = 0; iEnum < fi.Length; iEnum++)     {             values[iEnum] = (Enum)fi[iEnum].GetValue(enumeration);       }     //return the array     return values; } Luego vamos a crear un enumerado sencillo... Type1, Type2 y Type3 que es el que vamos a utilizar p

[PB] Crear barra de botones de forma dinámica

Hola de nuevo... hoy, Power Builder, esta vez en PB 10.5 La idea de tener una barra de botones de forma dinámica me hizo idear el siguiente código. Podemos crear un objeto de forma dinámica directamente en nuestra window usando el comando OpenUserOject. this.OpenUserObject(uo_boton) Esta instrucción en la ventana, pondrá un objeto de usuario llamado uo_boton en la ventana, luego podemos invocar las propiedades para poner el botón en el sitio que queremos (X=23, Y=24, etc..) Pero el problema era que lo que tenia era un objeto de usuario y quería poner esos botones dentro del objeto de usuario... grave problema. La solución la dio nuestro amigo Microsoft, porque nos facilita las cosas usando los manejadores de los objetos. Function ulong SetParent (ulong hWndChild, ulong hWndNewParent) Library "USER32.DLL" Esta API cambia el manejador padre de un objeto dado, es decir, si tengo el Handle del objeto de usuario y el Handle del boton, puedo decirle al botón, que e

[Android] Mi primera aplicación para Android (y IV)

Ahora lo vamos a poner en marcha... La primera vez, necesitaremos indicar cual es "emulador", por lo que depende de la versión de Android que vamos a usar. Seleccionamos el icono   y creamos un nuevo dispositivo. De esta forma, cuando pongamos en marcha nuestra aplicación, le indicaremos que use el emulador "DefaultDevice". Cuando le demos a "Run as", elegimos el ADV para acceder.... y paciencia, pues como dije en su momento, son emuladores y no van a la misma velocidad que un dispositivo Android. y cuando se ponga en marcha y se instale el paquete de la aplicación.. tendremos en marcha nuestro teléfono Android bonito teléfono.. :D Desbloqueamos y tendremos nuestra aplicación instalada Nota: Te recomiendo que tengas el emulador en marcha antes de ejecutar la aplicación, porque tarda mucho en ponerse en marcha, así que cuando pruebes, NO CIERRES EL EMULADOR... si lo haces, te acordaras de estas palabras. Otro consejo es si no cabe el e

[Android] Mi primera aplicación para Android (III)

Ahora vamos a crear la interface de nuestra aplicación. He añadido tres iconos en los directorios  drawable-hdpi ,  drawable-ldpi y  drawable-mdpi , en cualquier resolución vamos a usar el mismo. Como observarás, el fichero R.java se ha regenerado con los nuevos iconos. Hacemos doble click en main.xml, tendremos algo como esto: Se recomienda cambiar el tipo de versión de Android a 2.2 para que sea lo mas compatible posible con muchos modelos de Android. Borraremos el TextView con el "Hello World!" que viene por defecto. Seleccionamos la pestaña de main.xml y modificamos el "LinearLayout" por un "ScrollView" <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"> </ScrollView> Añadimos un "TableLayout" al que llamaremos "ListSound&q

[Android] Mi primera aplicación para Android (II)

Ahora vamos a explicar que son todos estos directorios y ficheros que hay por defecto en nuestro proyecto. Dentro de la carpeta " res " es donde están todos los recursos. drawable-xxxx es donde estarán todos las imágenes de nuestro proyecto. Según sea el tamaño y densidad, ahí es donde tienen que estar. xhdpi - Extra High density ( 960dp x 720dp ) hdpi - High density ( 640dp x 480dp ) mdpi - Medium density ( 470dp x 320dp ) ldpi - Low density ( 426dp x 320dp ) Para más información de estos directorios, os recomiendo que sigas el siguiente enlace  http://developer.android.com/guide/practices/screens_support.html La carpeta "Layout" es donde estará nuestro formulario, la UI, la parte visible de nuestra aplicación. La carpeta "Values" es donde estarán las variables y valores globales de nuestra aplicación, por ejemplo, versión del producto, nombre de la aplicación, etc.. También tendremos un directorio llamado "Raw" que es donde

[Android] Mi primera aplicación para Android (I)

Hola a todos. Hoy vamos a hacer nuestra primera aplicación para Android. Para ello necesitamos los siguientes ingredientes: Eclipse (  http://www.eclipse.org  ) ADT ( Plugin for Eclipse  http://developer.android.com/sdk/eclipse-adt.html  ) Android SDK (  http://developer.android.com/sdk/index.html  ) Para mas información de como empezar con el SDK de Android, visita la página  http://developer.android.com/sdk/index.html Una vez instalado todo, vamos a hacer una aplicación simple, que reproduce un sonido cuando pulsamos un botón. Para empezar, debemos de seleccionar cual es la versión de Android vamos a usar, asi como el emulador a usar. Nota: Los emuladores son eso, emuladores, asi que no esperes que vaya muy rápido ni nada por el estilo, porque son muy, pero que muy lentos. Primero, seleccionamos nuevo proyecto, y en el apartado "Other", seleccionamos nueva aplicación Android. Le indicamos cual es el nombre de nuestro proyecto, asi como la versión de A

[INTERNAL] Codigos de ejemplos no disponibles

Hola a todos... Desgraciadamente, los señores del FBI basándose en la premisa de Norteamerica de "Todos son culpables, hasta que se demuestre lo contrario, y ya veremos...", han cerrado Megaupload, que era el servidor donde estaban alojados los ejemplos de este blog. Mientras encuentre otro sitio fiable donde poder compartir estos ficheros LEGALES , y además, yo soy el propietario intelectual de estos ficheros, que cedo libremente a todos los usuarios, para uso y disfrute, los ejemplos no estarán disponibles para descargar. Intentare modificar los enlaces lo mas pronto posible para que usen correctamente. Cualquier sugerencia será bienvenida. Nota: También me gustaría usar algún tipo de licencia libre (GNU) o CopyLeft, si alguien puede suministrar alguna información sobre este tipo de licencias, manda comentario. Gracias a todos. Kurro Software [29/01/12] Ya están disponibles los ficheros, están alojados en Rapidshare, no es la opción mas rápida, pero si están d