WPF框架内部StackPanel不会触发事件

WPF框架内部StackPanel不会触发事件

问题描述:

我动态创建一个框架并将其添加到堆栈面板的子项中。鼠标事件工作正常,但由于某种原因停止。任何帮助表示赞赏。这里就是我创建它们:WPF框架内部StackPanel不会触发事件

Frame newFrame = new Frame(); 
Page current = Globals.Static.GetCurrentProcess() as Page; 
current.Width = 1199; // Doing this here forces the scaletransform to shrink entire app -- must be done on the page 
newFrame.Content = current; 
newFrame.Width = 384; 
newFrame.Height = 288; // Doing this here will limit the shrunk app's height -- must be done on the frame 
newFrame.MouseDoubleClick += new MouseButtonEventHandler(newFrame_MouseDoubleClick); 
newFrame.Name = current.Title + "_Frame"; 
this.stackRunning.Children.Add(newFrame); 

Separator newSeparator = new Separator(); 
newSeparator.Name = current.Title + "_Separator"; 
this.stackRunning.Children.Add(newSeparator); 

stackRunning是在主窗口中的空白StackPanel。在事件处理程序中,我只是创建一个变量,然后我停下来。它永远不会起火。

您的鼠标点击可能会被子元素吞噬,但使用PreviewMouseDoubleClick可能会有所帮助。

+0

我试过MouseDown,PreviewMouseDown和PreviewMouseDoubleClick ...都没有火。这很奇怪......这是工作,突然停止。 – 2011-02-05 16:01:03

由于没有背景,您的框架可能无法击中。你有没有尝试设置背景?

+0

是的,我将背景设置为纯色......仍然不行。 – 2011-02-05 16:01:27

+0

可能不是OP的问题,但绝对是我的。谢谢! – devuxer 2011-11-17 01:59:30

我发现了原因。我为scrollviewer添加了一些新的重载滚动条代码,并且它吸引了很多东西。多谢你们。