Popup Control
Vamos a mostrar como utilizar el control Popup. Es importante tener en cuenta, que el control Popup se posiciona por encima de todos los elementos que están en el control Silverlight además esta contenido totalmente dentro del mismo control Silverlight.
Vamos primero a mostrar como generar dentro del xaml el control que vamos a utilizar.
<UserControl x:Class="SilverlightApplication.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="400" Height="300">
<Grid x:Name="LayoutRoot" Background="Gray">
<StackPanel>
<Button Width="50" Height="50" Click="Button_Click">
<Button.Content>
<TextBlock Text="Click"></TextBlock>
</Button.Content>
</Button>
<Popup x:Name="Popup1" HorizontalOffset="100"
VerticalOffset="25">
<StackPanel Background="Red" Width="200"
Height="150">
<TextBlock Text="Prueba de PopUp"></TextBlock>
<Button Width="50" Height="50"
Click="ButtonCerrar_Click">
<Button.Content>
<TextBlock Text="Cerrar">
</TextBlock>
</Button.Content>
</Button>
</StackPanel>
</Popup>
</StackPanel>
</Grid>
</UserControl>
Como vemos, dentro de nuestra aplicación Silverlight, tenemos un control Popup, donde vamos a poner la información que queremos mostrar en el mismo. Dentro del Popup podemos poner cualquier control Silverlight, ya que funciona como un contenedor.
Mediante las propiedades HorizontalOffset y VerticalOffset posicionamos el PopUp de acuerdo al borde superior izquierdo del control Silverlight.
Ahora vamos a ver el code-behind para mostrar como hacemos que aparezca el Popup.
namespace SilverlightApplication
{
public partial class Page : UserControl
{
public Page()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
Popup1.IsOpen = true;
}
private void ButtonCerrar_Click(object sender, RoutedEventArgs e)
{
Popup1.IsOpen = false;
}
}
}
Como vemos, la propiedad importante es IsOpen, que determina si se visualiza o no el Popup.