1

WPF を使用してアプリケーションを作成しています。私はそのようなアクションが欲しいです: ボタンの上でマウスボタンを押すと、別のウィンドウが表示され、どこでもマウスボタンを離すと、このウィンドウは非表示になります。これまでの私のコードは次のとおりです。

XAML:

<Button Margin="0,0,0,0" Name="button_wykres" PreviewMouseUp="button_wykres_PreviewMouseUp" PreviewMouseDown="button_wykres_PreviewMouseDown">

C#:

private void button_wykres_PreviewMouseDown(object sender, MouseButtonEventArgs e)
    {

        omww.Top = this.Top+50;
        omww.Left = this.Left +180;
        omww.Show();
    }

    private void button_wykres_PreviewMouseUp(object sender, MouseButtonEventArgs e)
    {
        omww.Hide();
    }

問題は、新しいウィンドウ (omww) がメイン ウィンドウの下に表示されることですが、一番上に必要です。他のイベント、つまりbutton.Clickウィンドウを試してみると、必要に応じて古いウィンドウの上に表示され、混乱します。ただし、Click イベントは私のニーズを満たしていません。誰かが私を助けてくれたら幸いです。

4

1 に答える 1

1

Window私が見たように、子を親の上に表示させるには2つのオプションがありますWindow。最初はコメントで @Viv によって言及されました。それはTopMost、子のプロパティを次のように設定するWindowことtrueです。

omww.Topmost = true;

2 番目のオプションはOwner、子のプロパティをWindow親に設定するWindowことです (それらの間に直接的な関係がある場合)。

omww.Owner = this; // if called from the parent Window code behind
于 2013-09-03T08:41:27.663 に答える