Скрыть значок из окна WPF

Я знаю, что есть много вопросов о том, как скрыть или убрать значок в верхнем левом углу окна WPF, где находится системное меню. Я пробовал многие из них, но ни один не работает. Вот мои требования:

Значок исчезает и не занимает пустого места (т. Е. Нет прозрачного значка)Заголовок окна начинается прямо у левого края окнаКнопка закрытия в правом верхнем углу все еще там и работаетКнопки свертывания / разворачивания все еще присутствуют, если они включены (необязательно, не проверяли это)Нет пользовательского рисунка всей оконной рамыРаботает на Windows 7 с включенным Aero Glass (Windows 8 кто-нибудь?)Работает на 32 и 64-битных Windows (x86 и x64 build)Работает с WPF .NET 4.0Работает, когда не в отладчике, как Visual Studio (было бы неплохо, если бы он также работал в отладчике)Должно также работать на Windows XP (опционально)

Доступные ответы в основном используют функции Windows APIGetWindowLong, SetWindowLong а иногда иSetWindowPos добавить расширенный стиль окнаWS_EX_DLGMODALFRAME и позвонитьSWP_FRAMECHANGED, Иногда другие стили также устанавливаются или не устанавливаются.

К сожалению, ничего из этого не работает вообще. У меня может не быть иконки без кнопки закрытия, или они все еще есть. Но также заметно, что весь этот контент относится к 2010 году или ранее. Кажется, он нацелен на более ранние версии .NET или Windows и с тех пор не работает.

Я уже сравнил стили окон системных диалогов (из Проводника) и моих окон WPF с Microsoft Spy ++ (включен в Visual Studio). Но я могу попытаться установить все флаги одинаково, значок не исчезнет. Это как черная магия, которая отменяет любую другую функцию API или физику.

У кого-нибудь есть решение, которое все еще работает сегодня и в указанной среде?

Ответы на вопрос(3)

Ваш ответ на вопрос