5

グリッドのある WPF メイン ウィンドウがあり、ボタンがクリックされたときにユーザーに追加情報を求める WPF ポップアップを追加しました。しかし問題は、他のデスクトップ ウィンドウがポップアップ上に移動すると、ポップアップが他のデスクトップ ウィンドウを覆うことです。これを修正して、ポップアップが WPF メイン ウィンドウの大部分のみに表示され、他のデスクトップ ウィンドウには表示されないようにする方法。常に一番上に設定すると、ポップアップはタスク マネージャーのように動作します。

以下のコードを使用すると、ポップアップが一番上に表示されることがわかります。他のデスクトップ ウィンドウをポップアップの上に移動すると、ポップアップが他のデスクトップ アプリケーションを覆います。StaysOpen="False" を使用したくないことに注意してください。

<Grid>
    <Popup Name="myPopup" Placement="Center" IsOpen="True">
        <StackPanel Background="Green" >
            <TextBox Width="200" Margin="0,0,10,0"/>
            <Button Name="closePopupBtn" Content="close" Width="100" />
        </StackPanel>
    </Popup>
</Grid>
4

2 に答える 2

3

ポップアップ ウィンドウで Owner プロパティを設定しました。ポップアップウィンドウで、

this.owner = instanceOfParentWindow;

これもあなたの質問に似ています。

ポップアップは常に一番上に表示されます

ここでは、 user32.dll を使用してカスタム ポップアップを作成します。

于 2013-01-28T13:39:39.513 に答える