WPF 上的 MouseDown - 使用 ScrollViewer

MouseDown on WPF - Using ScrollViewer

我试图显示公司列表,每个公司都有一些信息,例如徽标、名称和...

我想在用户触摸列表的任何部分时显示公司页面,这是我提供的:

 <ScrollViewer Name="ScrollCompany"    >
  <StackPanel Name="stCompany" RenderTransformOrigin="0.5,0.5">

</StackPanel>
</ScrollViewer>


for(int i=0;i<maxCompany;i++)
{
     Grid objMain = new Grid();
      objMain.Name = "companyId" +  companyId;
    objMain.MouseDown += objCompany_MouseDown;

    // here I have adding logo and name and other thing ...

    stCompany.Children.Add(objMain);
}

现在,当我尝试触摸徽标或标签时,MouseDown 可以工作,但我无法触摸网格或标签的父级,徽标

即使我使用 WrapPanel、StackPanel 而不是 Grid

如评论中所述,网格需要透明背景。否则(如果 Background 为 null)WPF 将不会在命中测试中考虑该控件:

objMain.Background = Brushes.Transparent;