2008-12-16 11 views
5

Tengo un ListBox que muestra algunos elementos, y en ciertos modos "sello" un tipo de marca de agua en la parte superior. He hecho esto con un borde que contiene un bloque de texto con una opacidad de 0.5. Todo esto funciona bienHaciendo un control "transparente" para hacer clic en eventos

Sin embargo, todavía quiero que el usuario pueda hacer clic en los elementos en el ListBox, pero si hago clic en el "sello" obviamente se come los eventos de clic y ListBox no los ve.

¿Qué debo hacer para evitar esto? (Es decir, permitir que el cuadro de lista para ver el evento Click)

Gracias,

Craig

+0

Podría por favor mostrar exactamente cómo hacer esto ¿sello? –

+0

Vea el ejemplo a continuación: esto es más o menos lo que estoy haciendo. –

Respuesta

13

Puede hacer esto con la IsHitTestVisible propiedad:

<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <ListBox> 
     <ListBoxItem>a</ListBoxItem> 
     <ListBoxItem>b</ListBoxItem> 
     <ListBoxItem>c</ListBoxItem> 
    </ListBox> 
    <Border Opacity="0.2" Background="Cyan" BorderBrush="Black" BorderThickness="5" IsHitTestVisible="False" > 
     <TextBlock Text="EXAMPLE" FontSize="20" HorizontalAlignment="Center" VerticalAlignment="Center"/> 
    </Border> 
</Grid> 
+0

Excelente, gracias, exactamente lo que necesitaba. –

Cuestiones relacionadas