2017-07-31 53 views
0

我都试图表明公司的名单,每家公司都有我想表明公司网页时,用户触摸列表中的任何一部分一样的标志,名称的一些信息和...的MouseDown上WPF - 使用的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中,而不是网格

+0

请原谅我,如果这是不正确的,因为我的WPF经验远不是在UWP。但是,您是否可以不使用堆栈面板,使用标签等将数据放入该堆栈面板中,然后设置stackpanels.tapped事件处理程序(单击或类似)以完成要实现的内容? –

+0

,因为您的网格需要透明背景! – GCamel

+0

@ jj-谢谢你的建议,但是我已经使用了stackpanel,因为我不会为每个项目设置marging,可能你没有明白stackpanel的工作原理 – AliMajidiFard9

回答

0

正如评论中提到的那样,网格需要透明背景。否则(如果背景为空)WPF将不会考虑在命中测试中的控制:

objMain.Background = Brushes.Transparent; 
+0

谢谢你的人,它的作品 – AliMajidiFard9