[Windows Phone 8.1 – How To] Obtener AccentColor

El desarrollo con el lenguaje XAML tiene muchos beneficios para los desarrolladores. Uno de ellos, es poder utilizar Temas. Éstos definen qué conjunto de colores, imágenes y otros recursos puedan utilizarse en la aplicación.

En Windows Phone, tenemos dos tipos de temas Light y Dark. Cada uno con su conjunto de recursos. En este caso, vamos a ver como obtener el AccentColor (color principal de un tema) que lo podríamos comparar con el ForeColor en una aplicación Web.
Seguir leyendo «[Windows Phone 8.1 – How To] Obtener AccentColor»

[Windows Phone 8.1 – How To] Obtener AccentColor

El desarrollo con el lenguaje XAML tiene muchos beneficios para los desarrolladores. Uno de ellos, es poder utilizar Temas. Éstos definen qué conjunto de colores, imágenes y otros recursos puedan utilizarse en la aplicación. En Windows Phone, tenemos dos tipos de temas Light y Dark. Cada uno con su conjunto de recursos. En este caso, vamos a ver como obtener el AccentColor (color principal de un tema) que lo podríamos comparar con el ForeColor en una aplicación Web. En XAML, tenemos un cuadro de texto y le colocaremos el color principal del tema utilizado:


<TextBox Foreground="{StaticResource PhoneAccentBrush}" />

En el lenguaje C# podemos obtener el AccentColor utilizando la siguiente línea de código:


var accent = Application.Current.Resources["PhoneAccentBrush"] as Brush;

De esta manera obtenemos el color principal del tema sea Dark o Light. A continuación, la lista de colores de referencia para Windows Phone.

[Windows Phone 8.1 – How To] Mostrar imágenes incorporadas

En algunos foros la gente pregunta sobre este tema. Generalmente, tienen la imagen pero no pueden visualizarla. Los desarrolladores, la mayoría de las veces, colocan las imágenes y recursos dentro de la misma aplicación para poder mostrarlas en su XAML.

Es por eso que aquí tenemos dos posibles soluciones que encontrarás para el problema de las imágenes.

Seguir leyendo «[Windows Phone 8.1 – How To] Mostrar imágenes incorporadas»

[Windows Phone 8.1 – How To] Mostrar imágenes incorporadas

En algunos foros la gente pregunta sobre este tema. Generalmente, tienen la imagen pero no pueden visualizarla. Los desarrolladores, la mayoría de las veces, colocan las imágenes y recursos dentro de la misma aplicación para poder mostrarlas en su XAML.

Es por eso que aquí tenemos dos posibles soluciones que encontrarás para el problema de las imágenes.

Las imágenes en Visual Studio (para cualquier tipo de desarrollo) puede ser establecido en Content o Resource. Lo mas común es utilizarlo como Contenido (Content).

Primero, se debe colocar la imagen en el archivo XAML:


<Image Name="imagen1" Source="imagenes/manutd.jpg"/>

Con esta declaración funciona estableciendo la imagen como Contenido o como Recurso, indistintamente. Ahora bien, en C# tenemos una diferencia a la hora de mostrar las imágenes.

Content (Contenido)


imagen1.Source =
new BitmapImage(new Uri("imagenes/olimpia.jpg", UriKind.RelativeOrAbsolute));

Resource (Recurso)


imagen1.Source =
new BitmapImage(new Uri("/NOMBRE_PROYECTO;component/imagenes/olimpia.jpg", UriKind.Relative));

Tenes en cuenta que imagenes, es una carpeta dentro del proyecto. * Con esto puedes tener las imágenes incrustadas dentro del proyecto Windows Phone 8.1

[How To] Preparar entorno para TypeScript

Introducción

TypeScript es un lenguaje de programación libre y de código abierto desarrollado por Microsoft. Es un superconjunto de JavaScript, que esencialmente añade tipado estático y objetos basados en clases.

AngularJS 2.0 lo puede utilizar como lenguaje base y eso va genial. Su sintaxis es muy similar a C#, razón por la cual su curva de aprendizaje no es muy pronunciada.

Toda la información necesaria se encuentra en el sitio oficial, mantenido por Microsoft.

Seguir leyendo «[How To] Preparar entorno para TypeScript»

[How To] Preparar entorno para TypeScript

Visual Studio

Introducción

TypeScript es un lenguaje de programación libre y de código abierto desarrollado por Microsoft. Es un superconjunto de JavaScript, que esencialmente añade tipado estático y objetos basados en clases. 

AngularJS 2.0 lo puede utilizar como lenguaje base y eso va genial. Su sintaxis es muy similar a C#, razón por la cual su curva de aprendizaje no es muy pronunciada. Toda la información necesaria se encuentra en el sitio oficial, mantenido por Microsoft.

Manos a la obra

  • Se debe instalar NodeJs desde aquí. Sugiero la opción «Recommended for Most Users». Durante la instalación se debe seleccionar las dos opciones del árbol «Add to Path».

Instalando NodeJs

  • Abrimos el símbolo de sistema (como administrador):

cmd

  • Por último, ejecutamos la siguiente instrucción:
npm install -g typescript

Listo, ya tenemos instalado TypeScript en nuestro sistema. Ahora, debemos probar si funciona nuestro «Hola mundo desde TypeScript».

  • Creamos un archivo que se llame holamundo.ts, en una carpeta. En mi caso, D:typescriptsholamundo.ts
  • Dentro del archivo colocamos el código TypeScript correspondiente:
function saludar() {
return "Hola mundo desde TypeScript";
}

document.body.innerHTML = saludar();

  • Compilamos utilizando el símbolo de sistemas y veremos en la carpeta creada el archivo holamundo.js que es el resultado de la compilación del archivo holamundo.ts.
    
tsc holamundo.ts

Visual Studio Code

  • En el editor, vamos a File > Open Folder… > y buscamos la carpeta que necesitamos. En mi caso D:typescripts
  • Seleccionamos el archivo holamundo.ts que hemos creado y eliminamos el archivo holamundo.js (que ha creado el compilador en el paso anterior).
  • En el editor creamos un nuevo archivo que se llame tsconfig.json (que es la configuración de nuestro typescript a nivel de archivo):
{
"compilerOptions": {
"target": "es5",
"module": "amd",
"sourceMap": true
}
}

Más información sobre cada línea aquí.

  • Haremos que la compilación sea automática mediante tareas desde el Visual Studio Code, para lo cual crearemos una carpeta con nombre .settings y dentro de ella, un archivo task.json con el siguiente contenido:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"showOutput": "silent",
"args": ["holamundo.ts"],
"problemMatcher": "$tsc"
}

Visual Studio CodeCon esta configuración logramos compilar todos los archivos indicados en args. De esta manera obviamos la utilización del símbolo de sistema por cada archivo TypeScript.

  • Completamos el ejercicio con el archivo index.html que visualizará el texto expuesto en el código typescript:
<!DOCTYPE html>
<head>
<title>TypeScript - Ejercicio 1</title>
</head>
<body>
<h1>http://holamundo.js</h1>
</body>

En la carpeta de ubicación hacemos doble clic en el archivo index.html y debemos ver nuestro mensaje completando las pruebas 😉

Conclusión

De esta manera logramos que TypeScript funcione de manera automática en nuestro pequeño proyecto, dentro del Visual Studio Code para mayor comodidad.

[WinForms – How To] Utilizar ErrorProvider

Esta clase nos permite atrapar errores que se producen en los controles de ingreso de datos. Con este control podemos indicar al usuario que no se está cumpliendo con una condición específica y no puede continuar con la carga de datos.

En este pequeño tutorial mostraré como validar que un cuadro de texto no esté vacío y también como validar sólo números.

Seguir leyendo «[WinForms – How To] Utilizar ErrorProvider»

[WinForms – How To] Utilizar ErrorProvider

Esta clase nos permite atrapar errores que se producen en los controles de ingreso de datos. Con este control podemos indicar al usuario que no se está cumpliendo con una condición específica y no puede continuar con la carga de datos.

En este pequeño tutorial mostraré como validar que un cuadro de texto no esté vacío y también como validar sólo números.
Agregamos dos cuadros de texto, dos controles ErrorProvider y un botón: errorprovider1

En el evento Click del botón controlamos que el primer cuadro de texto no esté vacío, si lo está activamos el ErrorProvider

private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.textBox1.Text))
this.errorProvider1.SetError(this.textBox1, "Este campo no puede quedar vacío.");
else
this.errorProvider1.Clear();
}

En el evento TextChanged del segundo cuadro de texto validamos que se ingresen sólo números, si no es número activamos el ErrorProvider

private void textBox2_TextChanged(object sender, EventArgs e)
{
this.errorProvider2.Clear();

foreach (char letra in this.textBox2.Text)
{
if (!char.IsDigit(letra))
{
this.errorProvider2.SetError(this.textBox2, "El campo sólo acepta campos numéricos");
break;
}
}
}

De esta manera, hacemos que la carga de datos en un formulario Windows sea amigable para el usuario especificando dónde se produce el error de carga en el ingreso de datos.

[AX 2012 R3 – How To] Buscar elementos en el AOT

Básicamente en cualquier parte del Application Object Tree (AOT) del Dynamics AX 2012 R3 se pueden realizar búsquedas de objetos que necesitemos. Generalmente buscamos clases o campos dentro de una tabla (que son bastantes).
Primeramente, abrimos el AOT:
busqueda1

Luego, hacemos clic derecho en el grupo y seleccionamos la opción «Buscar»: busqueda2

Colocamos los parámetros necesarios y hacemos clic al ícono correspondiente: busqueda3
El AX retorna los resultados necesarios y seleccionamos el que necesitamos: busqueda4

De esta manera, la búsqueda de algún elemento dentro del Dynamics AX resulta muy sencilla y práctica.