通过单击父元素获取其子元素

3

有没有一种方法可以点击WrapPanel的子元素并获取子元素,但不必在每个子元素中插入Click事件?我是否可以只在WrapPanel中插入Click事件?

我的代码如下:

    <ScrollViewer Name="scrollViewer" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Height="500" Margin="1085,154,-89,0" HorizontalAlignment="Left" Width="267" VerticalAlignment="Top">
        <WrapPanel Name="Agenda" HorizontalAlignment="Left" Height="Auto" VerticalAlignment="Top" Width="265" Background="#FFEEF4FF">
            <Border Name="b06x00" BorderThickness="1" Width="265" BorderBrush="Black" Visibility ="Visible">
                <TextBlock TextWrapping="Wrap" Text="06:00" Width="265" Height="15" Background="White"/>
            </Border>
            ...
            this Border + TextBlock is repeated 70 times. It's an agenda by the way.
            ...
        </WrapPanel>
    </ScrollViewer>
1个回答

4
您可以在您的WrapPanel上处理例如MouseDown事件,因为它会从该面板中的任何控件冒泡上来。
<WrapPanel Name="Agenda" ... MouseDown="Agenda_MouseDown">

在事件处理程序中,您可以这样检查OriginalSource:
private void Agenda_MouseDown(object sender, MouseButtonEventArgs e)
{
   var textBlock = e.OriginalSource as TextBlock;
}

谢谢您,先生,那真的帮了我很多! - Albert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接