弹出窗口的manipulationdelta - XAML Windows 8

时间:2013-03-27 21:08:41

标签: windows-8 popup winrt-xaml

我想在屏幕上放置浮动弹出窗口。我希望用户能够在屏幕上的任何位置移动该弹出窗口。

所以我正在使用:

<Popup x:Name="myPopup" Grid.Row="0" Grid.RowSpan="2" Margin="0, 0, 0, 0"  ManipulationMode="All" ManipulationDelta="PopupManipulationDelta" IsLightDismissEnabled="False" Visibility="Collapsed" IsOpen="false">
代码背后的代码:

private void PopupManipulationDelta(object sender, ManipulationDeltaRoutedEventArgs e)
    {
        var ct = (CompositeTransform)addShapesPopup.RenderTransform;
        ct.TranslateX += e.Delta.Translation.X;
        ct.TranslateY += e.Delta.Translation.Y;               
        UpdateLayout();
    }

但这不起作用。函数PopupManipulationDelta甚至没有被调用。

我尝试在矩形,椭圆等形状上使用相同的逻辑,并且在那里工作得很好。

你能帮我理解为什么它不能用弹出窗口吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我相信Popup没有任何可视化表示,因此它无法响应命中测试,从而无法响应操纵事件。只需在其中加入一些控件,就可以响应输入事件。如果您不希望它显示,则可以是Grid Background="Transparent"