2.22.2007
Bill Gates va a dar personalmente el premio al mejor gadget mexicano para Windows Vista
2.19.2007
Propiedades Dependientes en WPF
1. Soporte a Recursos
En WPF podemos establecer directamente el valor de una propiedad directamente ligada a un recurso utilizando XAML así:
<dockpanel.resources>
<solidcolorbrush color="Red" key="MiBrocha">
<dockpanel.resources/>
<button content="Soy rojo" background="{DynamicResource MyBrush}">
En este caso la propiedad Background toma su valor del recurso llamado MiBrocha. Para poder fijar una propiedad con el valor de un recurso es necesario que esta sea una propiedad dependiente.
2. Ligado a Datos (Data Binding)
El ligado a datos de WPF se establece igualmente utilizando propiedades dependientes.
<button content="{Binding XPath=Team/@TeamName}"/>
En este ejemplo el contenido del botón está ligado a una ruta específica definida con XPath dentro de una fuente de datos XML. Sin embargo, para el ligado de datos, aunque es necesario utilizar propiedades dependientes, hace falta además que estas implementen la interface INotifyPropertyChanged.
3. Estilos
El manejo de estilos de WPF depende también de las propiedades dependientes. Los estilos están relacionados con el sistema de propiedades porque típicamente contienen setters o triggers que afectan el valor de las propiedades como vimos con anterioridad.
4. Animación
La animación en WPF consiste en cambiar el valor de una propiedad a través del tiempo. Para esto WPF también utiliza las propiedades dependientes.
5. Herencia de Valores
La herencia de valores de propiedades no tiene nada que ver con la herencia tradicional de la programación orientada a objetos. La herencia de valores se trata de propagar el valor de una propiedad desde un objeto hacia sus hijos en un árbol. Por ejemplo, podemos definir una propiedad dependiente a nivel de un Grid. Los elementos que existen dentro del Grid
pueden heredar el valor de la propiedad dependiente del que se ha fijado. Esto simplifica, por ejemplo, que todos los elementos gráficos dentro de un contenedor compartan el color del fondo u alguna otra propiedad similar.
Gracias a la herencia de valores habilitada por las propiedades dependientes, los siguientes dos fragmentos de código producen exactamente el mismo resultado gráfico en WPF:
<window class="EjemplosSimples.PropiedadesDependientesDos" title="EjemplosSimples" width="414" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x="http://schemas.microsoft.com/winfx/2006/xaml" height="123">
<stackpanel margin="20">
<textblock fontsize="20">Mi Blog es http://msdnfan.blogspot.com </textblock>
</stackpanel>
</window>
<window class="EjemplosSimples.PropiedadesDependientesUno" title="EjemplosSimples" width="414" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" fontsize="20" x="http://schemas.microsoft.com/winfx/2006/xaml" height="123">
<stackpanel margin="20">
<textblock>Mi Blog es http://msdnfan.blogspot.com </textblock>
</stackpanel>
</window>
¿Encuentras la diferencia? El tamaño de la fuente en el segundo caso se establece a nivel de la ventana mientras que en el primero se establece en el bloque de texto.
2.15.2007
Sáquale Provecho a la Búsqueda Integrada de Windows Vista
Windows Vista incorpora un poderoso motor de búsqueda que indexa todos los documentos existentes en la PC de manera automática. Ofrece la misma funcionalidad que Windows Desktop Search 3.0 pero viene ahora incluido con el sistema operativo. La búsqueda está presente en múltiples puntos del sistema operativo incluyendo:
· El Explorador de Archivos
· El Explorador de Internet
· Los Diálogos de Selección de Archivos
· El Panel de Control
· El Menú de Inicio
Adicionalmente, aplicaciones como Microsoft Outlook 2007 aprovechan el motor de búsqueda y se integran con él.
Como desarrolladores, podemos extender la búsqueda de Windows Vista de dos maneras:
· Podemos desarrollar aplicaciones que consuman el motor de búsqueda de Windows para presentarle resultados al usuario.
· Podemos desarrollar aplicaciones que extiendan el sistema de búsqueda de Windows para permitirle, por ejemplo, buscar nuevos tipos de documentos o con propiedades distintas.
Para desarrollar un consumidor de búsqueda la manera más simple es utilizar el proveedor OLE DB de búsqueda que viene incorporado a Windows. Es muy sencillo buscar utilizando este proveedor. Para establecer una conexión, basta con utilizar la siguiente cadena de conexión:
string connectionString = @"Provider=Search.CollatorDSO;Extended Properties='Application=Windows'";
Necesitamos saber además cual es la sintaxis que acepta este proveedor OLE DB para procesar nuestras consultas. En general, todas las consultas son de la siguiente forma:
SELECT [propiedades]
Para nuestra fortuna, el SDK de Windows incluye un excelente ejemplo de desarrollo sobre la búsqueda que contiene una implementación básica. Este ejemplo lo podemos encontrar normalmente en C:\Archivos de Programa\Microsoft SDKs\Windows\v6.0\Samples\CrossTechnologySamples.zip\WindowsIndexSearchApp
En este ejemplo podremos encontrar las piezas más importantes que necesitamos. ¿Que columnas (propiedades) están soportadas? ¿Como especifico los predicados (filtros) de mis búsquedas?