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

Ventanas Emergentes


A diferencia de los applets las aplicaciones XBAP y por consiguiente
las de Silverlight no pueden abrir nuevas ventanas fuera del área que
el plugin utiliza… por alguna extraña razón, siendo consistentes con
sus inconsistencias, Silverlight se supone que es un subconjunto de WPF
pero es un subconjunto que tiene elementos ajenos a WPF (es decir
Microsoft reinventó la teoría de conjuntos al hacer subconjuntos que
poseen elementos fuera del conjunto original) y entre ellos está la
habilidad de "comunicarse" con JavaScript, lo cual hace que JavaScript
pueda abrir una nueva ventana de nave3gación con OTRO programa en el
que se comunique con JS y de esa forma poder simular las ventanas
emergentes, a mí en lo personal no me gusta ya que es una tontería
andar de programa en programa haciendo comunicaciones "intersecretas"…
En
XBAP la restricción de no abrir ventanas nuevas en el modo de
"Confianza Parcial" nos implica hacer soluciones más "creativas" para
hacer algo que en los appleets es completamente nativo.
Para poder
hacer eso generemos un nuevo item en nuestro proyecto, seleccionemos
WPF del lado izquierdo y del derecho seleccionemos "User control",
póngámosle un nombre adecuado a nuestro control.
Aparecerá una pantalla donde poner los elementos de nuetra ventana, usemos todos los necesarios, por ejemplo:

Para obtener eso usamos el siguiente código en el XAML:

<UserControl x:Class="mx.gob.scjn.ius_common.gui.apoyos.MensajesGenerales"

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

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

    Height="180" Width="437">

   
<UserControl.Resources>

        <ResourceDictionary>

            <ResourceDictionary.MergedDictionaries>

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

            </ResourceDictionary.MergedDictionaries>

        </ResourceDictionary>

   
</UserControl.Resources>

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

        <Grid>

            <Label Height="49" Name="label1"

                 
 BorderBrush="Black"
BorderThickness
="1"

                 
 Background="#D1E6A4" Margin="0,11.723,55,0" VerticalAlignment="Top">

                <TextBlock Name="titulo" FontSize="24" TextWrapping="WrapWithOverflow">Label</TextBlock>

            </Label>

            <Button Height="40"

                  
 HorizontalAlignment="Right"

                  
 Margin="0,0,0,0"

                  
 Name="salir"

                    ToolTip="Cerrar"

                  
 VerticalAlignment="Top"

                  
 Width="40"

                  
 Template="{StaticResource RegresarBoton}"

                  
 Click="salir_MouseLeftButtonUp"/>

           

            <RichTextBox Name="contenido"

                       
 IsReadOnly="True"

                       
 Margin="30,70,30,10"

                       
 VerticalScrollBarVisibility="Auto"></RichTextBox>

            <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>

        </Grid>

   
</Border>

</UserControl>

 Gracias a que
este "bloger" no me permite poner mucho texto tendré que continuar en
una nueva entrada…  y luego dicen que MS piensa bien las cosas.

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: