1

フローティングポップアップウィンドウを画面に表示しようとしています。ユーザーがそのポップアップウィンドウを画面上のどこにでも移動できるようにしたい。

そして、私は使用しています:

<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 は呼び出されていません。

長方形、楕円形などの形状で同じロジックを使用してみましたが、そこでは正常に動作します。

ポップアップで機能しない理由を理解するのを手伝ってもらえますか?

ありがとうございました。

4

1 に答える 1

0

Popup には視覚的な表現がないため、ヒット テストや操作イベントに応答できないと思います。内部に何らかのコントロールを配置し、入力イベントに応答させるだけです。表示したくない場合はGridwithにすることができます。Background="Transparent"

于 2013-03-27T22:17:11.917 に答える