Un viaje sobre lenguajes, APIs y otras cosas raras en el mundo del desarrollo de sistemas.


Ahora revisemos parte por parte:
<UserControl.Resources>

       
<ResourceDictionary>

           
<ResourceDictionary.MergedDictionaries>

               
<ResourceDictionary Source="/General;component/Resources.xaml"/>

           
</ResourceDictionary.MergedDictionaries>

        </ResourceDictionary>

    </UserControl.Resources>

       
<Border Name="degradado"  Style="{StaticResource BorderStyle}">

En esta parte definimos que se va a utilizar un archivo de
recursos dentro del assembly (jar en Java) General y que se llama
Resources.xaml (este funciona un poco como hoja de estilos…
En el objeto Border estamos definiéndole un nombre y le decimos que use un
estilo llamado BorderStyle, este está definido en Resources.XAML y es el
siguiente:

<Style TargetType="{x:Type Border}" x:Key="BorderStyle">

       
<Setter Property="Background">

           
<Setter.Value>

               
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">

                   
<GradientStop Color="#E4F1C9" Offset="0"/>

                   
<GradientStop Color="#F0F7E1" Offset="1"/>

               
</LinearGradientBrush>

           
</Setter.Value>

        </Setter>       

    </Style>

En esto andamos definiendo que nuestro fondo tendrá un degradado de dos tonos
de verde.

Siguiendo con nuestro control de usuario tenemos que pusimos una etiqueta de
título y un campo de texto rico para dar un mensaje grande y posiblemente con
fotos o cambios de colores de texto.
Lo que nos interesa para la parte de ventana emergente es lo siguiente:

<Button Height="40"

                  
 
HorizontalAlignment="Right"

                  
 Margin="0,0,0,0"

                  
 Name="salir"

          
         ToolTip="Cerrar"

                  
 VerticalAlignment="Top"

                  
 Width="40"

                  
 Template="{StaticResource
RegresarBoton
}"

                  
 Click="salir_MouseLeftButtonUp"/>

           
<Rectangle Height="11" Cursor="ScrollAll"

                
      Margin="-1,-1,38,0" Name="BarraMovimiento"

                     
 Stroke="Black" VerticalAlignment="Top"

                     
 MouseLeftButtonDown="BarraMovimiento_MouseLeftButtonDown"

                     
 MouseLeftButtonUp="BarraMovimiento_MouseLeftButtonUp"

                     
 MouseMove="BarraMovimiento_MouseMove">

               
<Rectangle.Fill>

                   
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">

                       
<GradientStop Color="LightGray" Offset="0"/>

  
                     
<GradientStop Color="SeaGreen" Offset="0.5"/>

                       
<GradientStop Color="LightGray" Offset="1.0"/>

                   
</LinearGradientBrush>

               
</Rectangle.Fill>

           
</Rectangle>

El botón tiene otro elemento definido como estático y que se encuentra definido
en el archivo de recursos:

<ControlTemplate x:Key="RegresarBoton" TargetType="Button">

       
<Image x:Name="ImagenRegresar" Source="/General;component/images/REGRESAR1.png"/>

       
<ControlTemplate.Triggers>

       
<Trigger Property="IsMouseOver" Value="True">

           
<Setter TargetName="ImagenRegresar" Property="Source" Value="/General;component/images/REGRESAR2.png"/>

       
</Trigger>

           
</ControlTemplate.Triggers>

    </ControlTemplate>

Lo que se entá definiendo en este template es que cuando uno pase el mouse
sobre el botón para cerrar nuestra ventana emergente este debe cambiar de
imagen.
El rectángulo es el que hace las veces de barra de título de una ventana, en
este caso lo llenamos con un degradado para dar la impresión de que
efectivamente es un elemento para cambiar la ventana de posición, al decir que
el cursor es de tipo "ScrollAll" definimos que estará en una cruz de
flechas, lo que indicará el objetivo del rectángulo.
Una vez definido lo gráfico veamos como debemos hacer para utilizar nuestra
ventana emergente y como funciona internamente:
Para insertarla dentro de nuestro "Page" debemos hacer lo siguiente:
Definir que vamos a usar el namespace dentro de la página:

<Page x:Class="IUS.Tesis" Loaded="Page_Loaded"

      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;

      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml&quot;

      xmlns:local="clr-namespace:mx.gob.scjn.ius_common.gui.apoyos"

      xmlns:utilities="clr-namespace:mx.gob.scjn.ius_common.gui.gui.utilities;assembly=General"

      MinWidth="770">

Adivinaron, no puedo poner mucho texto en la entrada del BLOG!!! seguiremos en la parte 3.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: