Как в WPF создать диалоговое окно (т.е. серый фон без рамки вокруг клиентской области)?
Я пытаюсь создать простое окно типа диалога в WPF. Однако для этого конкретного случая я не хочу, чтобы в клиентской области была граница или даже фон в этом отношении. Я просто хочу, чтобы мои элементы управления отображались поверх фона окна так же, как и в простом MessageBox.
Я играл с разными значениями для WindowStyle
но все они вызвали клиентскую область цветом. Я также попытался просто установить клиента Background
прозрачным, но это не сработало, просто сделав его черным.
Вот дерьмовая работа в Photoshop, показывающая, что мне нужно:
Примечание: я не за содержанием содержимого окна сообщений - например, значком, кнопками, сообщением и т. Д. - я спрашиваю только о том, как запретить отображение клиентской области в любом окне. Я просто использовал ящик сообщений в качестве примера, когда кто-то связался с ним в своем ответе.
Как вы можете видеть (или, скорее, не можете), нет видимого разграничения клиентской области.
Раньше в WinForms было так просто, но WPF поставил меня в тупик. Кто-нибудь?
1 ответ
Я не уверен, что вы после. Вы хотите, чтобы только элементы управления в вашем диалоге были видны с границей диалога и прозрачным фоном? Если это так, попробуйте эти настройки в диалоговом окне:
не WindowStyle = "None"
ShowInTaskbar = "False"
AllowsTransparency = "True"
Background = "Transparent"
Если вы хотите, чтобы цвет вашего диалогового окна в Winform System.Control
без границ, установите форму Background
вот так (вместо прозрачного):
Background="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"