2008-12-16 63 views
5

我有一个ListBox显示一些项目,并且在某些模式下,我在它的顶部“戳记”了一种水印。我用一个包含0.5不透明度的TextBlock的边框完成了这个工作。所有这些很好地工作。使控件“透明”来点击事件

但是,我仍然希望用户能够点击列表框中的项目,但是如果我点击“标记”,它显然会吃点击事件,并且它们不会被列表框看到。

我需要做些什么来防止这种情况? (即允许列表框看到Click事件)

感谢,

克雷格

+0

能不能请你告诉你这样做到底如何邮票? – 2008-12-16 22:07:08

+0

请参阅下面的示例 - 这几乎是我正在做的。 – 2008-12-16 22:17:13

回答

13

您可以用IsHitTestVisible属性做到这一点:

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