Хорошо, я наконец нашел решение для своей проблемы.
Первоначально я использовал WinForms, но с годами я перешел на WPF.
WPF получил что-то, называемое WindowChrome, которое является рамкой/держателем окна, которое содержит содержимое окна. & меняется каждый раз, когда есть новая итерация Windows.
Я узнал, что есть функция, которая позволяет легко легко изменить свойство WindowChrome окна.
Я сделал свою собственную функцию, где я могу передать свойства для нового хрома:
/// <summary>
/// Changes the WindowChrome of selected Window (wnd) & adjust its properties
/// </summary>
/// <param name="wnd">Window to affect</param>
/// <param name="glassThickness">Thickness of glass border (0 - no glass = no shadow, lower than 0 - whole window, higher than 0 - real border)</param>
/// <param name="resBorder">Thickness of resize border - where Windows natively supports resizing of the window</param>
/// <param name="topMove">Height of the window header/title - Windows native support for changing position of the window (from top), disables mouse events of controls underneath it</param>
/// <remarks></remarks>
public void NiceChrome(Window wnd, Thickness glassThickness, Thickness resBorder, int topMove)
{
WindowStyle = WindowStyle.SingleBorderWindow;
Shell.WindowChrome.SetWindowChrome(wnd, new Shell.WindowChrome
{
ResizeBorderThickness = resBorder,
GlassFrameThickness = glassThickness,
UseAeroCaptionButtons = false,
CaptionHeight = topMove,
CornerRadius = new CornerRadius(0),
NonClientFrameEdges = Shell.NonClientFrameEdges.None
});
}
Я надеюсь, что я сделал комментарий легко понять, если кто-то хочет использовать эту функцию. Также я узнал, что использование Thickness (-1) на glassThickness
делает все окно под стеклом под ним без дополнительного пространства/границы вне самого окна, но при этом сохраняет эффект тени.
Еще одно замечание заключается в том, что вы должны изменить прописку окна при максимальном увеличении, поскольку Windows все еще хочет отрезать границу/стекло, которого больше нет.
PS: Английский - это не мой родной язык, если в грамматике есть какие-либо проблемы, исправьте его, редактируя. Спасибо & Да, я отвечаю на свой вопрос, который почти 2 года (мои пристрастия).
Вместо того, чтобы скрывать границу, попробуйте покрасить свою границу сверху по умолчанию. Перехватите сообщение NC_PAINT. Таким образом, вы сможете использовать возможности Windows. –
Хороший ответ, но если я ХОЧУ Скрыть границу границы ... с WindowStyles, возможно ... Как это сделать? – VentyCZ
DONE, больше не нужна помощь :) – VentyCZ