En mi aplicación WPF tengo muchos cuadros de diálogo personalizados que se abren para que el usuario pueda hacer varias cosas con . Para asegurarme de que el diálogo permanece en la parte superior de la ventana que lo llamó, agrego Topmost="True"
a la etiqueta Window
del archivo XAML del diálogo. Esto funciona, pero el cuadro de diálogo se muestra en cada ventana abierta, incluso en otras aplicaciones. Esto es realmente molesto Entonces, ¿hay alguna manera de obligar al diálogo a estar siempre en la parte superior de su principal, pero no necesariamente en la parte superior de otras aplicaciones?Mantener diálogos en la parte superior de la ventana, pero no en la parte superior de todo
Aquí es una versión simplificada de la etiqueta Window
de los diálogos que tengo (omitiendo todas las cosas xmlns
):
<Window
mc:Ignorable="d"
ShowInTaskbar="False"
Topmost="True"
WindowStartupLocation="CenterOwner"
ResizeMode="NoResize"
SizeToContent="WidthAndHeight"
WindowStyle="ToolWindow">
¡Hurra! ¡Comportamiento esperado! ¡Gracias! –
La aplicación no parece tener una definición llamada "Actual". –
También incluso si solo uso x.Owner = this; no funciona ShowDialogue siempre pone el diálogo donde sea que la ventana de la aplicación estaba en la pantalla una vez iniciada, no después de que se movió la ventana. –