0

ウィンドウ内に複数のページが表示されるwpfアプリケーションがあります(動的に追加されたフレームでuniformgridを使用)。特別なイベントが呼び出されると、ウィンドウ内でページが再配置されます。問題は、ページ内で System.Windows.Forms フォームを呼び出さなければならない場合があることです。このフォームをページの上に表示する (ページをオーバーレイする) ようにします。私はすでに位置を計算しました:

StatusForm frm = new StatusForm (m_object, parameters);
frm.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
Point topleftPageCoord = this.PointToScreen(new Point(0, 0));// get topleft coordinates of the page
int x = (int)topleftPageCoord.X + ((int)this.ActualWidth - frm.Size.Width) / 2;
int y = (int)topleftPageCoord.Y + ((int)this.ActualHeight - frm.Size.Height) / 2;
frm.Location = new System.Drawing.Point(x, y);
frm.ShowDialog();
if (frm.Result != "") do something;

しかし、ウィンドウ全体が再配置されると、フォームは(もちろん)まだこの古い位置にあります。ページを所有者としてフォームを呼び出す方法はありますか? フォームが何らかの方法でページに接続され、ページが移動すると自動的に移動するようにするには?

4

0 に答える 0