11
Nov
09

artículo de Introducción a Silverlight …

escrito por Eugenio Estrada, podeís encontrarlo aquí.

09
Nov
09

Chronos v0.3 disponible en codeplex

más información y links para descarga aquí.

05
Nov
09

chronos: nueva versión (v0.2) disponible en codeplex

Ir aquí para descargar los fuentes ( Visual Studio 2010 Beta 2 / .NET 4.0) o los binarios (.NET 4.0)

04
Nov
09

chronos: elementos del escritorio

Sigo con los cambios para la implementación el sistema de elementos del escritorio, intentando integrar WindowContr0l dentro de la jerarquía de elementos de escritorio comentada en el post anterior. Así es como está ahora:

ClassDiagram1

Parte del código de WindowControl se encuentra ahora en DesktopElement, concretamente las partes de “drag”, cambio de tamaño, activación/desactivación, de forma que queden genéricas para cualquier otro control que herede de DesktopElement (las clases DragThumb y ResizeThumb ya no son necesarias).

Hay también un par de cambios para aprovechar las novedades de WPF en .net 4.0, los accesos directos ahora se ejecutan con doble click ( ya se puede usar binding en la propiedad Command de los InputBindings de los controles de WPF ), y lo mismo para el caso del TreeView del navegador de opciones ( ya se hacia aunque de otra forma ).

Hay algunos cambios a nivel visual para tratar de dejar más claro cual es el elemento activo en el escritorio, tanto los widgets como las ventanas cambiarán su opacidad dependiendo de si están activos o no.

Y como siempre un pantallazo ;)

Capture

02
Nov
09

Novedades en chronos …

Me he instalado el la beta 2 del Visual Studio 2010 y he migrado los fuentes de Chronos a la nueva versión, así aprovecho y voy viendo algunas de las novedades tanto del Visual Studio como del .NET Framework 4 en vivo y en directo.

Los cambios que estoy haciendo ahora mismo son para la implementacíón de los elementos que se pueden mostrar en el en la ventana principal (que ejerce de escritorio), widgets (por el momento sólo hay dos el navegador de opciones y la lista de widgets disponibles) y shortcuts (por el momento las ventas van un poco por libre.

Ahora hay una clase base para los elementos que se puedan visualizar en el escritorio (DesktopElement), y dos clases que descienden de esta para los shortcuts (ShortcutElement) y widgets(WidgetElement), la visualización se hace con DataTemplates intentando hacer uso del patrón Model-View-ViewModel.

imageAhora queda un poco más sencillo y más claro que antes que estaba el tema un poco lioso.

Además he aprovechado para mover el código relativo a Drag & Drop a un proyecto propio, y cambiado la implementación de los shortcuts para adaptarla al sistema nuevo.

Ahí algunos cambios más de reorganización del código y de limpieza de algunas cosillas que ya no hacían falta, espero subirlos al repositorio de codeplex lo antes posible :)

Ahí va un pantallazo de como se ve ahora.

Capture

20
Ago
09

Chronos: Últimos cambios

… que aún no están subidos en codeplex, pero bueno, …

  1. Uso del control Search TextBox de David Owens, con algunos cambios en los estilos y posiblemente acabe haciendo algún cambio también en la forma en la que funciona.
  2. Uso del control SplitButton de alrh.
  3. Cambios en la forma de manejar el Drop en el Canvas, utilizando el código de ejemplo de Jaime Rodriguez, con cambios para adaptarlo a lo que necesito en Chronos.
  4. Cambios en los estilos de la ventana principal, los botones, …

Los links a los artículos de Drag & Drop de Jaime Rodriguez

Y ahi van dos pantallazo de como se ve ahora :)

image

image

19
Ago
09

Chinch: Framework para el desarrollo de aplicaciones con Model-View-ViewModel

Chinch es unframework para el desarrollo de aplicaciones utilizando Model-View-ViewModel, por lo que he visto en los artículos de codeproject del autor tiene muy buena pinta, más información aqui

Los artículos de codeproject:

http://www.codeproject.com/KB/WPF/Cinch.aspx

http://www.codeproject.com/KB/WPF/CinchII.aspx

http://www.codeproject.com/KB/WPF/CinchIII.aspx

http://www.codeproject.com/KB/WPF/CinchIV.aspx

http://www.codeproject.com/KB/WPF/CinchV.aspx

http://www.codeproject.com/KB/WPF/CinchVI.aspx

06
Ago
09

Chronos: Cambiando de estilo

Llevo un par de dias buscando por internet iconos y fondos vectoriales para cambiar un el estilo de Chronos ( y intentar mejorarlo un poco ), en general lo que se encuentra suele estar en formatos SVG o AI y se puede usar Inkscape para convertirlos a XAML (aunque no siempre funciona, y normalmente harán falta ajustes manuales, pero en general cumple)

En GoSquared se puede encontrar una buena colección de iconos (algunos de los cuales se pueden ver en la imagen que hay al final de esta entrada) y en DragonArtz he encontrado un fondo que me convence smile_teeth

Y aquí va un pantallazo de como se ve ahora:

image

28
Jul
09

Chronos: Zoom en las ventanas

Sigo haciendo cambios en Chronos (aunque van a tardar un tiempo en ver la luz en Codeplex), he estado viendo como hacer un Zoom sobre el contenido de las ventanas, algo realmente sencillo en WPF.

Por un lado tengo un Popup, con un Slider con el que poder modificar el Zoom a aplicar, un TextBlock para mostrar el porcentaje y un botón para cerrar el Popup (que lo cierra usando un StoryBoard que establece la propiedad IsOpen del Popup a false, para mostrar el popup se hace lo mismo en otro botón pero que establece la propiedad IsOpen a true):

   1: <Popup x:Name="ZoomView"

   2:        AllowsTransparency="True"

   3:        IsOpen="False"

   4:        Width="300"

   5:        Height="100"

   6:        StaysOpen="True"

   7:        PlacementTarget="{Binding ElementName=WindowFrame}"

   8:        Placement="Center" >

   9:

  10:     <Border Margin="5,5,5,5" CornerRadius="3,3,3,3">

  11:         <Border.Background>

  12:             <LinearGradientBrush EndPoint="0.465,-0.246" StartPoint="0.465,1.116">

  13:                 <GradientStop Color="#35000000" Offset="0"/>

  14:                 <GradientStop Color="#FF5A5C62" Offset="1"/>

  15:                 <GradientStop Color="#CE262626" Offset="0.572"/>

  16:             </LinearGradientBrush>

  17:         </Border.Background>

  18:         <Border.Effect>

  19:             <DropShadowEffect BlurRadius="10" ShadowDepth="0" Opacity="0.695" Direction="2" PresentationOptions:Freeze="True" />

  20:         </Border.Effect>

  21:         <Grid Margin="10,0,10,0">

  22:             <Grid.RowDefinitions>

  23:                 <RowDefinition Height="15" />

  24:                 <RowDefinition Height="55" />

  25:                 <RowDefinition Height="10" />

  26:             </Grid.RowDefinitions>

  27:             <Button Grid.Row="0"

  28:                     HorizontalAlignment="Right"

  29:                     Style="{StaticResource TransparentCloseButtonStyle}">

  30:                 <Button.Triggers>

  31:                     <EventTrigger RoutedEvent="ButtonBase.Click">

  32:                         <BeginStoryboard>

  33:                             <Storyboard>

  34:                                 <BooleanAnimationUsingKeyFrames Storyboard.TargetName="ZoomView"

  35:                                                                 Storyboard.TargetProperty="IsOpen"

  36:                                                                 Duration="0:0:0">

  37:                                     <DiscreteBooleanKeyFrame Value="False" KeyTime="0:0:0" />

  38:                                 </BooleanAnimationUsingKeyFrames>

  39:                             </Storyboard>

  40:                         </BeginStoryboard>

  41:                     </EventTrigger>

  42:                 </Button.Triggers>

  43:             </Button>

  44:             <Slider x:Name="ZoomSlider"

  45:                     Grid.Row="1"

  46:                     IsTabStop="False"

  47:                     Maximum="250"

  48:                     Minimum="50"

  49:                     LargeChange="10"

  50:                     SmallChange="5"

  51:                     TickPlacement="BottomRight"

  52:                     Value="100"

  53:                     VerticalAlignment="Center"

  54:                     HorizontalAlignment="Stretch"

  55:                     Interval="5"

  56:                     TickFrequency="5"

  57:                     IsSnapToTickEnabled="True">

  58:             </Slider>

  59:             <TextBlock Grid.Row="2"

  60:                        Foreground="White"

  61:                        FontWeight="Bold"

  62:                        Text="{Binding ElementName=ZoomSlider, Path=Value, StringFormat={}{0}%}"

  63:                        HorizontalAlignment="Center"

  64:                        VerticalAlignment="Center" />

  65:         </Grid>

  66:     </Border>

  67: </Popup>

Y por otro un LayoutTransform aplicado sobre el ContentPresenter (está todo definido en un estilo personalizado para la ventana)

   1: <ContentPresenter RenderTransformOrigin="0.5, 0.5">

   2:     <ContentPresenter.LayoutTransform>

   3:         <ScaleTransform CenterX="0"

   4:                     CenterY="0"

   5:                     ScaleX="{Binding ElementName=ZoomSlider, Path=Value, Converter={StaticResource ZoomTransformConverter}}"

   6:                     ScaleY="{Binding ElementName=ZoomSlider, Path=Value, Converter={StaticResource ZoomTransformConverter}}"

   7:     />

   8:     </ContentPresenter.LayoutTransform>

   9: </ContentPresenter>

Y así es como queda … smile_teeth

image

27
Jul
09

Hotfix:Visual Studio 2008 SP1 se cuelga al utilizar WPF

Hay un bug en el Visual Studio 2008 SP 1 que hace que el IDE se quede colgado al trabajar con aplicaciones en WPF, la descripción del problema se puede encontrar en la Knowledge Base de Microsoft y el hotfix en el Code Gallery ( en donde avisan de que el hotfix no ha sido testeado al 100% … sic )




calendario

Noviembre 2009
L M X J V S D
« Ago    
 1
2345678
9101112131415
16171819202122
23242526272829
30  

a