WPF弹出窗口在一个单独的可视树中

时间:2011-04-10 23:16:07

标签: wpf wpf-controls

我在WPF中有自定义列表框,其中包含以下类型的列表框项:

<MyListBoxItem>
    <Canvas>
      <MyControl/>
      <Popup />
    </Canvas>
</MyListBoxItem/>

这只是解释事情的一个例子。我的列表框项目实际上是模板化的。

现在MyListBoxItem'必须'吃自定义选择逻辑的previewMouseDown事件。我希望弹出窗口能够在自己的可视树中打开,这样弹出窗口中的鼠标按下事件就不会被listboxitem占用。有没有办法实现这一目标?想到了Adorners,但我想在XAML中完全做到这一点,我想知道是否有一些简单的方法来实现这一点。

1 个答案:

答案 0 :(得分:0)

您可以尝试将弹出窗口放在Canvas.Resources中,您仍然可以使用它,但它应该完全与Visual Tree断开连接。