Como Usar el Clic Derecho en Silverlight para Mostrar Popup
Saludos Amig@s en este Articulo veremos como usar el clic derecho del Mouse usando Silverlight.
Bueno primero veamos que necesitamos de parte del codigo XAML.
<Grid x:Name="LayoutRoot" Background="Silver" MouseRightButtonDown="LayoutRoot_MouseRightButtonDown" MouseRightButtonUp="LayoutRoot_MouseRightButtonUp">
<Popup Name="menu">
<ListBox SelectionChanged="ListBox_SelectionChanged">
<ListBoxItem Content="Item 1"></ListBoxItem>
<ListBoxItem Content="Item 2"></ListBoxItem>
<ListBoxItem Content="Item 3"></ListBoxItem>
<ListBoxItem Content="Item 4"></ListBoxItem>
<ListBoxItem Content="Item 5"></ListBoxItem>
</ListBox>
</Popup>
</Grid>
|
Para que se muestre el elemento del Popup debemos crear 2 Eventos relacionados al Clic derecho,MouseRightButtonDown="LayoutRoot_MouseRightButtonDown" y MouseRightButtonUp="LayoutRoot_MouseRightButtonUp"
Veamos el Código que deberia ir en el Evento MouseRightButtonDown .
private void LayoutRoot_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
e.Handled = true;
}
|
Ahora vemos lo deberia contener el evento MouseRightButtonUp.
private void LayoutRoot_MouseRightButtonUp(object sender, MouseButtonEventArgs e)
{
Point punto = e.GetPosition(LayoutRoot);
menu.Margin = new Thickness(punto.X, punto.Y,0,0);
menu.IsOpen = true;
}
|
Este código permite ya mostrar el Popup en la Cordenada X e Y capturados con el metodo GetPosition y creando un objeto Point.
Luego adicionalmente es importante que cuando se seleccione uno de los Items del Popup, se cierre este, es por ello la importancia de tener un evento en el ListBox SelectionChanged="ListBox_SelectionChanged"
el cual tendrá el siguiente codigo.
private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
menu.IsOpen = false;//Cerrar el Popup
//Cualquier Codigo que necesites ejecutar
}
|
Bueno el Resultado es de esperarse un lindo Popup, Gracias. HAZ CLIC DERECHO EN LA SECCION GRIS
Comments
Post a Comment