Archivo

Archive for the ‘Visual Studio Express’ Category

[Errores] Error al cargar el paquete ‘Visual Web Developer HTML Source Editor Package’

agosto 27, 2009 19 comentarios

Seguramente esto les sucede a muchos de los usuarios de Visual Studio (en sus diferentes versiones), ya antes había comentado que este error por lo regular se corrige ejecutando la siguiente instrucción:

devenv /resetskippkgs en la ruta: C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE> como se ven en la siguiente figura:

image

Bien, pues esto al parecer no es la solución correcta, ya que esto me había pasado con el editor de XAML, y en ese momento así lo solucione, pero ahora me paso con el editor de HTML y después de instalar el Service Pack 1 de SQL Server 2008. Este problema ocurre cuando los idiomas de Windows y de Visual Studio son diferentes, en muchos lugares de internet dicen que reinstales VS 2008 con el idioma correcto y todo ese rollo, pero estarán de acuerdo que esto es muy tedioso y existe otra manera de hacer, más fácil y más rápido, que es la siguiente:

En el Visual Studio nos vamos a Herramientas->Opciones->Entorno->Configuración Internacional y ahí seleccionar el idioma que corresponde a la instalación de Visual Studio.

En mi caso tengo instalado Windows 7 en Ingles, y Visual Studio 2008 en Español, tengo que seleccionar el Idioma español en el Visual y no el que dice: Igual que en Microsoft Windows, como se ve en la figura:

image

Despúes de esto hacemos click en Aceptar y listo esto debe de funcionar, aunque si no funciona, es porque seguro cuando les muestra el mensaje dieron que No a la opción de cargar en un futuro el paquete, por cualquier cosa, ejecuten de nuevo: devenv /resetskippkgs para que esto funcione, y como ven no es necesario reinstalar ni Windows ni mucho menos Visual Studio, espero que les sirva esto y no pierdan tanto tiempo. 😀

Saludos.

Etiquetas de Technorati: ,,

[C#] Haciendo la tarea xD, string, palíndromo, invertir una cadena, etc.

junio 1, 2009 10 comentarios

Este post en respuesta aun comentario en el post de palindrome en C# – explicación. Tengo que mencionar que cualquier otro día (es decir; un fin de semana o un día que no sea lunes xD) no hubiera contestado este comentario con un post, solo hubiera dicho, amigo piénsale un poco y seguro encuentras la respuestas, pero esta vez he llegado al trabajo y como no tengo mucho que hacer aquí rápido la solución a su tarea, solo espero que su profesor no vea este post xD.

El comentario lo pueden revisar aquí:

https://mspnor.wordpress.com/2008/08/10/palindrome-en-c-explicacin/#comment-330

Y aquí la mi pequeño programa que espero que funcione y les sirva (lo pongo por partes para que se entienda):

Main:

static void Main(string[] args)
{
    //variables
    StringBuilder frase = new StringBuilder();

    //Menú
Menu:
    Menu();
    int opcion = int.Parse(Console.ReadLine());
    switch (opcion)
    {
        case 1:
            Console.Clear();
            goto Leer;                   
        case 2:
            Console.Clear();
            MostrarFrase(frase);
            Console.ReadLine();
            goto Menu;
          
        case 3:
            Console.Clear();
            MostrarTotalLetras(frase);
            Console.ReadLine();
            goto Menu;
         
        case 4:
            Console.Clear();
            FraseInvertida(frase);
            Console.ReadLine();
            goto Menu;
           
        case 5:
            Console.Clear();
            EsPalindrome(frase);
            Console.ReadLine();
            goto Menu;
          
        default:
            break;
    }



Leer:
    try
    {
        Console.WriteLine("Cantidad de Palabras que tendrá la frase?");
        int totalPalabras = int.Parse(Console.ReadLine());


    Repetir:
        Console.Clear();
        Console.WriteLine("Introduce Frase: ");


        string[] frase1 = Console.ReadLine().Split(' ');


        for (int i = 0; i < frase1.Length; i++)
        {
            if (totalPalabras == frase1.Length)
            {
                if (i == (frase1.Length - 1))
                    frase.Append(frase1[i]);
                else
                    frase.Append(frase1[i] + " ");
            }
            else if (totalPalabras < frase1.Length)
            {
                Console.Clear();
                Console.WriteLine("Te excediste en el total de palabras!");
                Console.WriteLine("Solo se aceptan {0} palabras para esta frase y escribiste {1}", totalPalabras, frase1.Length);
                Console.WriteLine("Inténtalo de nuevo..");
                Console.ReadLine();
                goto Repetir;
            }
            else
            {
                break;
            }
        }
        Console.ReadLine();
        goto Menu;
    }
    catch (Exception ex)
    {
        Console.Clear();
        Console.WriteLine("Debes seleccionar una opción, escribe un número");
        Console.ReadLine();
        goto Leer;
    }
      
}

Menú:

private static void Menu()
{
    Console.Clear();
    Console.WriteLine("");
    Console.WriteLine("1 – Ingresar una nueva frase.");
    Console.WriteLine("2 – Mostrar la frase actual.");
    Console.WriteLine("3 – Contar la cantidad de letras de la frase actual.");
    Console.WriteLine("4 – Invertir frase actual.");
    Console.WriteLine("5 – ¿Es la frase actual un palíndromo?");
    Console.WriteLine("6 – Terminar el programa.");
    Console.WriteLine("");
    Console.Write("Elige una Opción: ");
}

Mostrar Totales Letras:

private static void MostrarTotalLetras(StringBuilder frase)
        {
            Console.WriteLine("El total de letras en la frase es: {0}",frase.ToString().Length);           
        }

Frase Invertida:

private static void FraseInvertida(StringBuilder frase)
{
    Console.WriteLine("Frase Invertida: {0} ",invertir(frase.ToString()));
}

Función Invertir:

private static string invertir(string frase)  
{  
    string invertido = "";
    for (int i = frase.Length - 1; i >= 0; i--)
        invertido = invertido + frase.Substring(i, 1);  
    return invertido;  
}

Determinar si es Palíndromo la frase:

 

private static void EsPalindrome(StringBuilder frase)
{
    
    string[] palabras = frase.ToString().Split(' ');
    if(verificar(0,palabras, palabras.Length) == 1)
        Console.WriteLine("la frase es palindrome...");
    else if(verificar(0,palabras, palabras.Length) == 3)
        Console.WriteLine("Inténtalo de nuevo...");
    else
        Console.WriteLine("La frase no es palindrome...");

}

Función Verificar:

public static int verificar(int pos, string[] palabra, int largo)
{
    try
    {
        //primera condición, si la palabra en su posición 0 es igual a la ultima,
        //por ejemplo "ojo", verifica si la pos 0 ('o') es igual a la ultima (3-0-1= 2) que también es una 'o'
        if (palabra[pos] == palabra[largo - pos - 1])
        {
            //aquí solo nos indica que si las pos es menor que largo - pos entra e incrementa pos
            //cuando llega al centro de la palabra, nos indica que es un palindrome
            if (pos < largo - pos)
                return (verificar(++pos, palabra, largo));
            else
                return (1);
        }
        //si no entra al if en donde se comaparan los caracteres
        return (0);
    }
    catch (Exception ex)
    {
        Console.WriteLine("Aun no existe una frase para verificar. Primero debes ingresar una frase");
        return 3;
    }
    
}

Creo que la explicación esta de más, ademas se pueden dar una idea de que hace cada función o método si revisan el comentario del otro post.

Aquí pueden descargar el código fuente:

image

Saludos!

Nota: no hago tareas de los lectores del blog, esta ves es porque no tengo otra cosa que hacer y el asunto es relativamente sencillo.

[VS 2008] Error en el editor de código de XAML no puedo ver el diseñador.

May 19, 2009 17 comentarios

El día de ayer me ha ocurrido algo un tanto inesperado al momento de instalar Visual Studio 2008. Todo esto es para revisar un proyecto de WPF entonces después de instalar VS2008 me disponía a realizar una demo, pero al momento de abrir el proyecto y comenzar a editar código XAML no podía :S. El error que me mostraba Visual Studio 2008 decía más o menos así:

No hay ningún editor disponible (nombre del archivo .xaml). Asegúrese que se encuentre instalada la aplicación correspondiente.

  • (no capture la pantalla por lo mismo que estaba desesperado :S)
  • Primero busque la solución en Google y pues nada.
  • Luego reinstale Visual Studio 2008 y nada.
  • Luego borre los registros del VS 2008 y reinstale de nuevo, y nada.
  • (ya en este punto estaba un poco desesperado, eso de reinstalar, desinstalar es muy tedioso, y luego en Google no encontraba nada :S)
  • Por ultimo trate de pedir ayuda al Bruno, precisamente en un post de Visual Studio 2010
  • Al final me llego una iluminación, escribí el código XAML en un bloc de notas, lo actualice en el visual y todo funcionaba entonces al generar Visual Studio me dijo:

Microsoft.VisualStudio.Xaml ({E58C2A8B-BCC4-4559-AD59-D62EB6D58A22}) no se cargó debido a errores previos. Para obtener ayuda, póngase en contacto con el proveedor del paquete. Para intentar cargar este paquete de nuevo, escriba ‘devenv /resetskippkgs’ en el símbolo del sistema.

Y así es como lo solucione:

Me dirigí a esta ruta: C:\Program Files\Microsoft Visual Studio 9.0\Common7 hice clic derecho en IDE presionando la tecla Shift y seleccione la opción Abrir ventana de comandos aquí

image

Y ejecute la siguiente instrucción:  ‘devenv /resetskippkgs’. Entonces se reinicio el Visual Studio abrió el mismo proyecto y listo, ya pude editar código XAML 😀

Al parecer a mucha gente le pasa esto con Visual Studio 2008 y con varios tipos de archivos como  .vb, cs, etc.. Espero que si les ocurre algo similar este post les sea de utilidad.

Saludos!

[Tip] Error de Visual Studio “Unable to write to output file”

El día de hoy me ocurrió algo extraño, actualmente estoy trabajando en un sistema para la empresa en la que trabajo y tenemos que liberar el producto en los idiomas de Ingles y Español. Bien pues la versión de Español ya esta lista y comenzando a trabajar en la de Ingles (Que si se hace un buen trabajo y organización, solo es cuestión de cambiar textos y alguna que otra parte de código en lo que a manejo de fechas se refiere), pues bien para que todo funcione bien tengo que trabajar en un ambiente en el idioma Ingles.

Lo que hice es cargar el proyecto y comencé a realizar las modificaciones necesarias y cuando genere la solución para ver que todo iba bien, pues nada que Visual Studio me dice: “Unable to write to output file” que en español seria algo así: “No se puede escribir en el fichero de salida” y en mi caso pues se trataba de la carpeta Obj dentro de la solución.

Al parecer es cuestión de Windows :S, porque copie el proyecto de Windows Vista a Windows XP

Cómo arreglamos el error:

Ir desde el Explorador de Windows hasta la carpeta en cuestión, hacemos clic derecho vemos las propiedades y verificamos que no este activo el checkbox de “Solo lectura” y listo!

La verdad es que no se que pase, porque este error en Windows Vista no aparece, pero bueno aquí este tip para que lo arreglen y puedan seguir trabajando.

Saludos!!

 

[VS – 2005] Pero… que le paso a mi VS

abril 6, 2009 2 comentarios

Después de un buen fin de semana (y me refiero a cosas personales) el día de hoy me dispongo a trabajar (Si aunque no lo crean a trabajar, tengo que trabajar) y como todos los lunes, llego al trabajo, prendo mi maquina, ya saben ejecuto el Messenger, Windows Live Mail, Outlook (por el correo de la empresa) música, checo mis mensajes y me preparo, ya saben a trabajar con Visual Studio (aun con la 2005). Bien hasta aquí todo normal…

Parte de mi trabajo de hoy es hacer una clase sencilla que me permita cargar unos archivos SWF para una aplicación, y pues bien, ya casi estaba terminada mi clase ya con propiedades, constructor y todo el show, me hacia falta declara un método para cargarlos y cuando me dispongo a realizarlo me topo con esto:

image

La verdad es que no se a que se debe que no me muestre los iconos, con colores y descripción, estas son de las cosas curiosas que me han pasado con VS, algunos otros errores extraños. Hace algún tiempo leí en http://geeks.ms un post sobre los errores extraños en VS y por eso es que se me ocurrió colocar este post, por si a alguien le ocurre algo similar que nos lo comparta y ya iremos haciendo una colección de todo lo extraño que pasa con VS.

Espero sus contribuciones.

Saludos.

Etiquetas de Technorati: ,

[VS – C#] Como agregar un SWF en una aplicación de C# en VS 2005 y no morir en el intento

marzo 26, 2009 3 comentarios

El día de hoy, me encontré con un problema un poco peculiar, les platico lo que hago, el error que me manda Visual Studio y como lo solucione.

Mi intención es agregar un archivo SWF en una aplicación, lo primero al crear mi proyecto es agregar el componente COM de Flash Player, que en mi caso en el visual estudio son dos. Entonces ya saben clic derecho en la Barra de herramientas->Elegir elementos y agrego los siguientes componentes:

  • Shockwave Flash Object
  • Shockwave ActiveX Control

Hasta aquí todo normal, bueno ya me aparecen en mi Barra de herramientas, hago doble clic en los dos y cual es mi sorpresa… . Visual Studio me manda el siguiente error:

image

Cosa que me pareció un tanto extraña, pero vaya mi curiosidad es grande y realice lo mismo. Barra de herramientas->Elegir elementos… y me fije en la ruta que se supone que se encontraba el Componente que es:

C:\Windows\System32\Macromed\Flash

Me dirijo a esa ubicación y me doy cuenta que es problema de que no existe la versión 9, a la que hace referencia Visual Studio, sino que se encuentra la versión 10

image

Entonces desde agregar Componentes, hago clic en Examinar.. me voy a esta ruta y agrego dicho componente

image

Y listo ya puedo trabajar con el control ActiveX para agregar un archivo SWF.

En el siguiente post, les comento trabajar con las propiedades de este control.

Etiquetas de Technorati: ,,,

Windows Live Tools para Visual Studio

octubre 8, 2008 1 comentario
logo_vs_tools

Así es, Windows Live Tools para Microsoft Visual Studio 2008 es un conjunto de complementos para hacer la incorporación de los servicios de Windows Live en una aplicación Web de manera fácil que se implementan en Visual Studio 2008 y Visual Web Developer Express 2008.

Cuando instalamos este CTP de Windows Live Tools nos agrega seis controles que son:

Herramientas de desarrollo:

Descarga el CTP de Windows Live Tools para Visual Studio  

Visita el Sitio Académico de Microsoft México

septiembre 11, 2008 Deja un comentario

Te invitamos a conocer los diversos programas y herramientas que Microsoft tiene disponibles para ti y con los cuales estoy seguro podrás sacar más provecho a tu aprendizaje. No olvides que estos programas han sido diseñados especialmente para un perfil académico y te ayudarán a que en un futuro cercano estés mejor preparado para enfrentar los retos que demanda este mundo de la era digital.

pag_mex_academic

Para conocer estos programas te invito a que visites el sitio de Académico de Microsoft México en donde podrás encontrar toda la oferta académica que Microsoft tiene y ofrece para ti que eres estudiante. Dentro de este sitio te puedes suscribir para que mensualmente recibas información sobre las tecnologías Microsoft y estés actualizado.

Aquí la lista de los recursos:

 

Así que no esperen más y visiten este excelente sitio, que contiene muchos recursos para estudiantes como tu!

 

Google Chrome trabaja sobre .NET xD

septiembre 5, 2008 1 comentario

Sorprendidos?. Quizá un poco o a muchos les sea indiferente, pero es cierto que desde que el pasado Martes 2 de Septiembre se lanzo la Beta de Google Chrome este ha causado mucho controversia dentro del mundo de Internet. Pero esta noticia si me ha parecido bastante curiosa.

chrome-205_noshadow VisualStudioLogo

Ahora ven porque, lo primero que me paso por lamente cuando descargue Chrome y vi su logo fue el parecido en los colores que usa, seguro a los que están relacionados con el desarrollo bajo la plataforma de .NET se fijaran que se parecen mucho los logos. Pero esto no es todo, resulta que Chrome trabaja por dentro con Visual Studio, y además podemos probarlo, si!!. Puedes descargar y ejecutar, para ejecutar te recomiendo un cafecito, porque si tarda más de 35 minutos, así que aquí la liga del sitio.

URL: http://dev.chromium.org/developers/how-tos/getting-started

Visual Studio 2008 SP1 y Silverlight tools

agosto 13, 2008 Deja un comentario

Hace unos días, se libero el Service Pack 1 de Visual Studio, aparte de corregir algunos errores, es SP con algo de valor, trayendo algunas nuevas funcionalidades para WPF.

Con la liberación de este SP1, el equipo de Silverlight no se quedo a tras, y esto porque también actualizaron sus herramientas para Silverlight 2 Beta 2, ya que son necesarios para poder correr nuestros proyectos de Silverlight 2, es decir; al instalar el SP1 para VS 2008 es necesario actualizar las herramientas para Silverlight, ya que si no lo hacemos, los proyectos no funcionaran correctamente.

untitled  untitledVS

Por eso es necesario reparar esto con las nuevas herramientas actualizadas de Silverlight, esto puede servir para la versión RTM del VS 2008, pero no para las versiones Beta, entonces lo que necesitamos es instalar lo siguiente:

 

Es importante que primero instalen el SP1 del Visual Studio 2008 y posteriormente el tools refresh de Silverlight 2 Beta 2. Y a seguir desarrollando la nueva generación de la Web.

[WPF] Imágenes en 3D con Visual Studio 2008 y Expression Blend 2

junio 20, 2008 8 comentarios

En este pequeño tutorial aprenderemos como manipular las imágenes en 3D, para esto vamos a utilizar tanto Visual Studio 2008 y Expression Blend 2, así que vamos a iniciar. Lo primero que hacemos es crear un nuevo proyecto en VS 2008, de tipo WPF Aplication  con el nombre de Imagen3D, como se ve en la figura:

El segundo paso es crear una carpeta llamada Imágenes en donde colocaremos las imágenes a mostrar, para esto en el Explorador de soluciones, seleccionamos nuestro proyecto y damos clic-derecho->Add->New Folder, esto como se ve en la imágenes:

Dentro de esta carpeta colocaremos nuestras imágenes, es recomendable que renombremos  las mismas con nombres desde el 1has el numero de imágenes que queramos, para agregar los archivos a la carpeta, tenemos que dar clic-derecho en la carpeta->Add->Existing Item… y buscamos los archivos.

Para poder poder observar los archivos a agregar es necesario seleccionar que el tipo de archivos que queremos ver son imágenes, como se ve en la imagen:

Como les comente, es recomendable que el nombre de nuestras imágenes sea sencillo como un número, esto por comodidad, ya que utilizaremos este nombre dentro del código y de esta manera será más fácil, aunque sino lo cambian no hay problema, solo recuerden el nombre de sus imágenes, ok

ya que tenemos agregados nuestros archivos dentro de la carpeta Imagenes, ahora toca agregar una clase a nuestro proyecto, para esto al igual que la carpeta damos clic derecho en el nombre de nuestro proyecto->Add->Class y VS2008 automáticamente nos arranca con la clase, a esta clase la llamaremos CrearImagen y el primer paso en esta clase es agregar los namespaces necesario que son:

using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

El primer paso en esta clase, es crear una instancia de la clase Image que se llama _miDatoActual y especificando que la clase es pública.

class CrearImagen { private static Image _miDatoActual = new Image(); }

Después creamos una variable pública de tipo Image y crear un getter que devuelva el valor de _miDatoActual

public static Image misImagenes { get { return _miDatoActual; } }

Luego Creamos una clase llamada Imagenes dentro de la casle CrearImagen

public class Imagenes : ObservableCollection<ImageData> { }

En este momento Visual Studio no sabe lo que un ObservableCollection, así que para que VS lo se entere, lo seleccionamos y damos clic-derecho->Resolve->System.Collections.ObjectModel

Creamos el constructor de la clase Images y declaramos la ruta de acceso de nuestras imágenes.

public class Images : ObservableCollection<ImageData>
{
public Images()
{
this.Add(new ImageData(@»Imagenes\1.jpg»));
this.Add(new ImageData(@»Imagenes\2.jpg»));
this.Add(new ImageData(@»Imagenes\3.jpg»));
this.Add(new ImageData(@»Imagenes\4.jpg»));
this.Add(new ImageData(@»Imagenes\5.jpg»)); } }

Creamos la clase de ImageData después de la clase de Imagenes y hacerla del tipo INotifyPropertyChanged. Esta clase se activará para cada imagen agregamos. También tendrá que tener esta clase de utilizar tal el System.ComponentModel como lo hicimos con la clase Imagenes y creamos una cadena privada que se llama _sNombreImagen.

public class ImageData : INotifyPropertyChanged { private string _sNombreImagen = «»; }

Crear el constructor de ImageData y pasar en sImagenName, que es la ruta de acceso
pasado de la clase Images. Creamos una variable llamada NombreImagen y le asignamos sImagenName la cual será pública y de tipo String. Por último creamos los getters y serters necesarios para establecer y definir el nombre de la imagen y la ruta en la que se encuentra con ayuda de un evento llamado NotifyPropertyChanged que definiremos más adelante, entonces el código de esta clase queda así:

public class ImageData : INotifyPropertyChanged
{
private string _sNombreImagen = «»;
public ImageData(string sNombreImagen)
{
NombreImagen = sNombreImagen;
}
public string NombreImagen
{
get { return _sNombreImagen; }
set { _sNombreImagen = value;
NotifyPropertyChanged(NombreImagen); } } }

Agregar el método PropertyChangedEventHandler y NotifyPropertyChanged dentro de la misma clase de ImageData

public event PropertyChangedEventHandler PropertyChanged;
protected void NotifyPropertyChanged(String sProp)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(sProp)); } }

Hasta este punto dejamos nuestra aplicación por el lado del código, regresaremos casi al final, ahora construimos nuestra solución presionando F6 y abrimos nuestro proyecto con Expression Blend 2. Todo esto sin cerrar VS 2008.

Lo primero es modificar el alto y ancho de nuestra ventana, que queda con 600 en Height y 800 en Width. Ahora con el objeto del Grid seleccionado en Objects and TimeLine en el panel de propiedades vamos a cambiar el Backgroung a GradientBrush. Así mismo cambiamos el color del Grid para tener una mejor apariencia como se ve en las figura.


Para obtener este color tenemos tres colores, azul, blanco y azul

Después creamos nuestro DataSource, para esto nos vamos al tag de Project y damos clic en +CTR Object. y en Add CLR Object Data Source seleccionamos CrearImagen

11

Automáticamente Expression Blend 2 nos crea dicho DataSource y lo podemos observar dentro del código XAML, dando clic en Split para ver el diseño y el código

<Window.Resources>
<ObjectDataProvider x:Key=»CrearImagenDS» ObjectType=»{x:Type Imagen3D:CrearImagend:IsDataSource=»True»/>
</Window.Resources>

A continuación tenemos que agregar los controles que nos van a permitir seleccionar una imagen y visualizarla, con el Grid seleccionado buscamos un ComoBox que llamaremos miCB y un rectangulo que llamaremos ImagenPlana y los colocamos de las siguiente manera.


Si presionamos en este momento F5 nos podemos dar cuenta que nuestra aplicación aun es muy sencilla, pero veamos cómo ponerla un poco más interesante.

Guardamos nuestro proyecto en Expression Blend 2 y ahora trabajamos de nuevo con VS2008 en donde abrimos el archivo de Window1.xaml y en los Recursos creamos un DataTemplate que llamaremos ImagenDT que indicara al ComoBox que contenido mostrar, que en nuestro caso es la Imagen y el Textblock, la definición de DataTemplate es así:

<Window.Resources>
<DataTemplate x:Key=»ImagenDT»>
<StackPanel Orientation=»Horizontal»>
<Image Source=»{Binding Path=NombreImagen}» Height=»50″ Width=»50″/>
<TextBlock Text=»{Binding Path=NombreImagen}»/>
</StackPanel>
</DataTemplate> <ObjectDataProvider x:Key=»CrearImagenDS» ObjectType=»{x:Type Imagen3D:CrearImagend:IsDataSource=»True»/>
</Window.Resources>

Dentro del código XAML localizamos el ComboBox y en la propiedad de ItemSource le indicamos que use misImagenes que se encuentra den CrearImagenDS, al igual le indicamos que use el DataTemplate que acabamos de crear, entones el código del miCB queda así:

<ComboBox HorizontalAlignment=»Left» Margin=»21.167,22,0,0″ VerticalAlignment=»Top» Width=»261.111″ Height=»51.389″ IsSynchronizedWithCurrentItem=»True» x:Name=»miCB» ItemsSource=»{Binding Path=misImagenes, Source={StaticResource CrearImagenDS}}» ItemTemplate=»{StaticResource ImagenDT}»>
<ComboBox.Background>
<LinearGradientBrush EndPoint=»0,1″ StartPoint=»0,0″>
<GradientStop Color=»#FF9DB6DA» Offset=»0″/>
<GradientStop Color=»#FF1F66CB» Offset=»0.996″/>
</LinearGradientBrush>
</ComboBox.Background>
</ComboBox>

Ahora si todo va bien, y ejecutamos nuestro proyecto nos aparece en el ComoboBox las fotos que tenemos en nuestra carpeta, y la aplicación se ve más o menos así:


Después de esto, tenemos que indicar que la imagen que seleccionemos se muestre dentro de nuestro rectángulo, y lo que tenemos que hacer es localizar nuestro rectángulo ImagenPlanta dentro del XAML y lo modificamos de manera que eliminamos el Fill y le indicamos que lo rellene con lo que seleccionamos.

<Rectangle Stroke=»#FF000000″ Margin=»229.055,108.499,110.611,84.667″ x:Name=»ImagenPlana»> <Rectangle.Fill>
<ImageBrush ImageSource=»{Binding Path=SelectedItem.NombreImagen, ElementName=miCB}»/>
</Rectangle.Fill>

</Rectangle>Ahora sí, si ejecutamos nuestro proyecto, podemos observar que la imagen que seleccionemos en él Como es la imagen que se muestra en el rectángulo, y se ve más o menos así:

Muy bien, ahora hagamos esto un poco más interesante, y pongamos varias opciones para que nos muestren las imágenes, entonces agregamos 3 radio butons del lado izq del rectángulo, con estas características:

<RadioButton HorizontalAlignment=»Left» Margin=»21.167,178,0,0″ VerticalAlignment=»Top» Width=»163.833″ Height=»33″ Content=»Imagen Plana (2D)» x:Name=»Imagen2DRB» IsChecked=»True»/>

<RadioButton HorizontalAlignment=»Left» Margin=»21.167,240,0,0″ VerticalAlignment=»Top» Width=»163.833″ Height=»29″ Content=»Imagen 3D» x:Name=»Imagen3DRB» IsChecked=»False»/>

<RadioButton HorizontalAlignment=»Left» Margin=»21.167,0,0,233″ VerticalAlignment=»Bottom» Width=»163.833″ Height=»38″ Content=»Animación 3D» x:Name=»Animacion3DRB» IsChecked=»False»/>

Ahora para trabajar con la segunda opción de la imagen en 3D, seleccionamos el rectángulo ImagenPlana y en el panel de Apariencia en la propiedad Visibility seleccionamos Collapsed para poder trabajar con otra imagen.

En Expreesion Blend 2 vamos al tag de Proyecto y en la carpeta de Imágenes, seleccionamos una y la arrastramos al Grid, con la imagen seleccionada damos clic en Tools -> Make Image 3D, por último deshabilitamos la opción de ClipToBounds en el panel de Apariencia.

Ya teniendo esto, seleccionamos el Viewport3D y damos doble clic sobre la imagen, para poder manipularla y la colocan en la posición que quieran, pueden rotarla en cualquiera de los 3 ejes (x,y,z), por ejemplo así:

Recuerden colocarle nombre a este Viewport3D, en mi caso lo llame Imagen3D. Dentro del código XAML buscamos el Viewport3D y modificamos su propiedad de diffusematerial como el siguiente código:

<DiffuseMaterial>
<DiffuseMaterial.Brush>
<ImageBrush ImageSource=»{Binding Path=SelectedItem.NombreImagen, ElementName=miCB}» Stretch=»Fill»/> </DiffuseMaterial.Brush>
</DiffuseMaterial>

También seleccionamos el Viewport3D llamado Imagen3D y en su propiedad visibility indicamos Collapsed, para trabajar con la última parte que será un Viewport3D con el nombre de cubo, y como es una explicación larga por el momento solo agregaremos el código, que se encuentra en un txt que podrán descargar desde aquí, este lo pegaran debajo del Viewport3D llamado Imagen3D, podemos observar cómo nos muestra un cubo, que es con el que trabajaremos una sencilla animación. Así que el código lo pegan aquí:

</Grid> en el proyeccto
<!–pegar aquí–>
</Grid>
</Window>

y podemos observar que si nos muestra una especie de cubo.


Ahora seleccionamos el Viewport3D llamado Animacion3D y cambiamos su propiedad de Visibility a Collapsed, por otro lado seleccionamos el Rectángulo llamado ImagenPlana al cual indicaremos su propiedad de Visibility en Visible. Ejecutamos nuestro proyecto presionando F5.

Pues bien hasta aquí, parece que todo va bien, ahora tenemos que darle funcionalidad a los Radio Buttons, para esto vamos a VS2008 y abrimos el archivo Window1.xaml.cs en donde agregaremos funcionalidad a cada uno de los eventos click de los botones, en donde solo indicaremos que se va a mostrar y que en cada uno de ellos, el código es el siguiente:

public partial class Window1 : Window
{
public Window1()
{
InitializeComponent(); Imagen2DRB.Click += new RoutedEventHandler(Imagen2DRB_Click);
Imagen3DRB.Click += new RoutedEventHandler(Imagen3DRB_Click); Animacion3DRB.Click += new RoutedEventHandler(Animacion3DRB_Click);
}

void Animacion3DRB_Click(object sender, RoutedEventArgs e)
{
Animacion3D.Visibility = Visibility.Visible;
ImagenPlana.Visibility = Visibility.Collapsed;
Imagen3D.Visibility = Visibility.Collapsed;
}

void Imagen3DRB_Click(object sender, RoutedEventArgs e)
{
Animacion3D.Visibility = Visibility.Collapsed;
ImagenPlana.Visibility = Visibility.Collapsed; Imagen3D.Visibility = Visibility.Visible;
}

void Imagen2DRB_Click(objectsender, RoutedEventArgs e)
{
Animacion3D.Visibility = Visibility.Collapsed;
ImagenPlana.Visibility = Visibility.Visible;
Imagen3D.Visibility = Visibility.Collapsed;
}
}

Si ejecutamos nuestro proyecto de nuevo presionando F5, podemos observar que ya funcionan nuestros radio Buttons, ahora solo resta hacer la animación de nuestro cubo, lo primero es poner como Visible nuestro cubo, luego damos clic en +Event y en +StoryBoard, a este último lo llamaremos AnimacionCubo, como se ve en las siguientes figuras:

Ahora pongan atención, seleccionamos la línea en el segundo 0, vamos a manipular sus propiedades de transformación cada 2 segundos, tanto de la posición en X, Y y del ángulo

Los valores completos son los siguientes:

Segundo 0 X=90, Y=0, Angle=-40
Segundo 2 X=-90, Y=0, Angle= 40
Segundo 4 X=0, Y=45, Angle=-180
Segundo 6 X=0, Y=0, Angle=0

Ya para terminar, solo falta indicarle que esto lo haga todo el tiempo, para esto solo seleccionamos el AnimacionCubo y en la propiedad RepeatBehavior asignamos Forever, cerramos el StoryBoard llamado AnimacionCubo y listo, tenemos nuestro proyecto listo, ahora podemos observar cómo es que funciona. (Recuerden poner el último viewport3D en Collapsed y el Rectángulo en Visible). Espero que les sea de utilidad este pequeño tutoría. Como producto final tenemos algo como esto:

Puedes descargar el código aquí

[XNA] Listo para la descarga CTP de XNA Game Studio 3.0

junio 19, 2008 Deja un comentario

Hace unos días se lanzo esta CTP de XNA Game Studio que la principal característica es dar el soporte al desarrollo de video juegos para la familia de dispositivos Zune. Esta característica nos da el acceso a la mayoría de de las funciones del API de XNA.

  cco_xna_ctp3_0_banner

Algo interesante de esta versión, es que requiere de la instalación de Visual Studio 2008 en cualquiera de sus versiones, obviamente con el soporte para Visual C# qué es el lenguaje con el que se desarrolla. Pueden practicar con Visual C# 2008 Express Edition.

Existen cosas importantes que debemos considerar para trabajar con esta CTP, que son las siguientes:

  • Visual Studio 2008 Standar Edition o superior (con soporte para el lenguaje C#) o C# Visual 2008 Express son necesarios para instalar y ejecutar la CTP de XNA Game Studio 3.0.
  • No es necesario desinstalar Visual Studio 2005 o XNA Game Studio 2.0, ya que estos productos pueden funcionar a la par con Visual Studio 2008 y XNA Game Studio 3.0.
  • Esta versión CTP de XNA Game Studio no permite el desarrollo de juegos para Xbox 360, solo es compatible para Windows y Zune. Si quieren desarrollar e implementar Juegos para su Xbox 360, se debe continuar usando la versión 2.0 de XNA Game Studio por el momento.
  • Esta CTP no funciona aún en sistemas de 64 bits, este soporte se le dará en la versión RTM.

Pues bien si quieren hacer pruebas y revisar que trae de nuevo esta versión, está disponible  a través del sitio de XNA Creators Club (http://creators.xna.com), en donde encontrarán toda la información.

Descarga: http://www.microsoft.com/downloads/details.aspx?FamilyId=DF4AF56A-58A7-474C-BFD0-7CF8ED3036A3&displaylang=en

Windows Live Dev – para Desarrolladores

marzo 3, 2008 1 comentario

winLiveDevAquí un excelente sitio en donde podemos encontrar muchas herramientas para poder desarrollar aplicaciones ricas y complejas para la Web, lo hacemos usando o consumiendo recursos Web. Algunas de las cosas que podemos crear para nuestros sitios Web o los servicios de Live son:

Para el desarrollo de estas aplicaciones podemos hacer uso de herramientas y recursos como:

Descarga Visual Studio 2008 en Español

febrero 27, 2008 Deja un comentario

Como ya sabemos el lanzamiento de la nueva versión del Visual Studio 2008 ya esta a la vuelta de la esquina, y como parte de ello, me eh encontrado con la noticia de que ya esta disponible la versión en Español.

                             VS2008 

Para aquellos suscriptores de MSDN pueden descargar desde este URL:

http://msdn2.microsoft.com/es-es/subscriptions/default.aspx

y para buena fortuna para aquellos que no cuentan con una suscripción a MSDN, les informo que pueden descargar también las versiones Express de Visual Studio 2008 en Español, esto lo hacen desde este URL:

http://www.microsoft.com/express/download/#webInstall

Así que ya saben a disfrutar 🙂

Aprende Visual Studio 2008

enero 24, 2008 Deja un comentario

Si estas interesado en aprender como es que funciona esta nueva versión del Visual Studio, aquí una serie de vídeos para iniciar, además puedes descargar los vídeos y la versión Express del Visual Studio 2008.

Cosa interesante de este sitio es que ya usa Silverlight, muy buena noticia, en lo particular creo que este producto esta teniendo un crecimiento muy bueno, y si no dime tu que opinas y por qué?, por el momento ak los recursos.

MSVisual_Studio

URL: http://visualstudio2008.defyallchallenges.com/videos.htm

Chatea con Live Messenger en un lugar bloqueado

enero 14, 2008 Deja un comentario

Me imagino que muchos de ustedes se han topado más de una vez con este problema, tanto en universidad, en el trabajo ya que es aquí en donde el administrador de la red nos bloquea o restringe los permisos, y entre ellos el uso de: Windows Live Messenger, Yahoo Messenger, entre los más necesarios para comunicarnos con nuestros amigos, me imagino que ya saben como es este proceso de restringir estos permisos, así que no hablare de eso ahora, si no como lo dice el nombre del post, de cómo chatear aun cuando este bloqueado el Messenger.

 windows live messenger

Pues bien, la verdad es que resulta mucho muy sencillo, no tenemos que tirar la contraseña del administrador, ni nada de esas cosas ilegales jiji, la solución para poder hacer uso de Windows Live Messenger desde un lugar bloqueado se llama Facebook Application y precisamente usando una de las mejores opciones que es la de Live Messenger. Solo basta con tener una cuenta en Facebook, agregar la aplicación del Messenger, llenar un registro de que cuenta vas a usar dentro de esta aplicación, es una configuración rápida y sencilla, una ves que terminaste eso  a disfrutar :-).

Por otro lado si esta aplicación del Messenger no te agrada y quieres mejorarla, o incluso realizar cualquier aplicación lo puedes hacer, para ello Microsoft nos proporciono herramientas para desarrollar en Facebook  llamado:

  • Facebook Developer Kit: El Facebook Developer Kit que es una colección de controles y componentes que utilizan el API de Facebook para que puedas extraer información de los perfiles de Facebook

URL: http://www.facebook.com/applications/Live_Messenger/5168623286

El poder de Visual C# Express

noviembre 21, 2007 Deja un comentario

Muchas veces compañeros de la escuela y gente que conozco me pide siempre que quiere que le preste, o que le diga en donde conseguir la versión Professional, o mínimo la Estandar del Visual Studio 2005, incluso ahora pasa lo mismo con el nuevo Visual Studio 2008. Le quitan mucho merito a las versiones Express, que en realidad son muy buenas, no sé porque le hacen el feo, además de que son gratis, pueden hacer cosas muy interesantes, de verdad!!

Como la aplicación que realizo la NASA con esta herramienta con demuestra que no es necesario usar la herramienta más poderosa, si no saber hacer las cosas. Como lo comenta Luís Franco en si blog, «Con esto podemos comprobar que en ocasiones, usando correctamente la materia gris no es necesario usar las herramientas más poderosas (y esto no pasa habitualmente, ya que normalmente tendemos a usar la máxima de «burro grande, ande o no ande»)

Esto es muy cierto y para muestra de ello aquí una aplicacioncita que hicieron la gentita de la NASA con C# Express, aquí el video y el link para que le den una revisadita.

http://www.worldwindcentral.com/wiki/Main_page

Así que ya saben a usar las versiones Express que en realidad son muy buenas, aquí el link de descarga de todas ellas. y como dato ya saben que en las nuevas versiones del Visual Studio 2008, también pueden bajar las imágenes ISO (que detalle).

Visual Studio 2005 Express Edition

Visual Studio 2008 Express Edition