Eruano's Blog

Simple y con foco… como debe ser!

Posts Tagged ‘WPF

WPF – Efecto enfocar/resaltar elemento

with one comment

Revisando los tutoriales de WPF for dummies me encontre con un efecto sencillo pero que da un toque chevere a los proyectos: El resaltado de elementos cuando el mouse pasa sobre ellos. He aqui un ejemplo sencillo.

<UserControl.Resources>
        <!–  Se define el estilo para el elemento a animar –>
        <Style TargetType=»{x:Type Border}» x:Key=»BorderStyle»>
            <!– Se define el valor por defecto de la opacidad –>
            <Setter Property=»Image.Opacity» Value=»0.5″></Setter>
            <Style.Triggers>
                <!– Se define el evento que desencadela la animacion –>
                <Trigger Property=»IsMouseOver» Value=»True»>
                    <!– Se establece el valor de la opacidad en un valor mayor –>
                    <Setter Property=»Image.Opacity» Value=»1″></Setter>
                </Trigger>
            </Style.Triggers>
        </Style>
    </UserControl.Resources>

    <Canvas>
        <!– Se define el elemento que va a utilizar el estilo definido arriba –>
        <Border BorderThickness=»3″ Height=»50″ Width=»100″ CornerRadius=»10″
                     BorderBrush=»#FFF70000″ Style=»{StaticResource BorderStyle}»>
            <TextBlock Margin=»15,5,13,5″ TextWrapping=»Wrap»>
                <Run Foreground=»White» FontWeight=»Bold» FontSize=»16″ Text=»Aceptar»/>
            </TextBlock>
        </Border>
    </Canvas> 

Con este simple codigo cuando pasen el mouse sobre el elemento (incluyendo sus hijos) se vera un efecto de resaltado.

Saludos.

 

Written by eruano

23 febrero 2011 at 11:45 pm

WPF – Ejecutar animacion desde codigo

with one comment

En WPF es comun querer ejecutar una animacion previamente definida en el XAML de un control o ventana desde codigo. Aqui un pequenio ejemplo:
Teniendo definida una accion que debe desencadenar un Click Izquierdo como esta:

<!– XAML Code –>
<UserControl>
    <UserControl.RenderTransform>
        <TransformGroup>
            <TranslateTransform x:Name=»TTranslateX» />
        </TransformGroup>
    </UserControl.RenderTransform>
    <UserControl.Triggers >
        <EventTrigger RoutedEvent=»UserControl.MouseLeftButtonUp»>           
            <EventTrigger.Actions>               
                <BeginStoryboard Name=»objBeginStoryBoard»>
                    <Storyboard Name=»objStoryBoard»>
                        <DoubleAnimation x:Name=»ElementoX» Storyboard.TargetName=»TTranslateX»
                                                     Storyboard.TargetProperty=»X»
                                                     From=»0″ To=»0″ Duration=»0:0:1″/>                       
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger.Actions>
        </EventTrigger>           
    </UserControl.Triggers>

</UserControl>

Habiendole asignado un nombre al StoryBoard en donde se define la animacion, esta se puede iniciar desde el codigo de este UserControl haciendo simplemente algo como esto:
        /* C# Code */
        public void Animar() {
            objStoryBoard.Begin();
        }

Luego solo bastara con llamar a la funcion de este control desde donde se desee desencadenar la accion.

Saludos.

Written by eruano

20 febrero 2011 at 10:59 pm

Publicado en Programacion, Visual Studio, WPF

Tagged with , ,

WPF – Terminar Aplicacion

with 7 comments

En aplicaciones windows para dar por terminada una aplicación desde codigo se utliza algo como:

/* C# Example */ this.Application.Exit();

Trabajando con WPF me encontre con la duda de como se terminaban las aplicaciones? Pues bien, en aplicaciones WPF para dar por terminada la aplicación se debe utilizar la siguiente sentencia:

/* C# Example */ App.Current.Shutdown();

Written by eruano

16 febrero 2011 at 11:12 am

Publicado en Programacion, Visual Studio, WPF

Tagged with ,