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

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

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

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

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

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

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

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

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