Что означают эти шестнадцатеричные значения в этом двоичном шрифте

Если вы вы просто помещали слова в свой заголовок в поисковую систему, а не здесь, как я только что сделал, то вы бы нашли гораздо больше результатов, чем эти. Вы можете найти ответ в следующем:

Удаление значка из окна WPF

Можно ли отображать окно wpf без значка в строке заголовка?

Как удалить значок окна WPF

Как удалить значок из окна заголовка

Как скрыть значок окна в WPF

UPDATE >>>

Ничего себе, правда? Я трачу время, чтобы сделать то, что вы должны сделать , и вы меня голодали? Что касается «не читать ваш вопрос» и «ни одна из этих работ» ... на самом деле? Потому что я не только прочитал ваш вопрос, но и проверил, что у каждого сообщения есть действительный ответ. Таким образом, я выполнил первый пример и предположил, что?

enter image description here [/g11]

Правильно ... это работает . .. и в .NET 4. Может быть, вы не читали комментарии к ответу, где «последняя строка» добавляется в код? [По-видимому, он не работает в .NET 4.5 на Windows 8 в соответствии с полученным комментарием.]

UPDATE 2 >>>

Ваш последний комментарий о это не работало над крупномасштабными приложениями. Таким образом, я затем добавил код к крупномасштабному приложению, и снова он работал нормально. Тем не менее, я продолжал проверять это, и вы должны использовать RibbonWindow в вашем приложении, потому что, когда я тестировал этот код на крупномасштабном приложении с RibbonWindow, код сделал не работа.

Если вы используете обычный Window, попробуйте этот код (из ответа @ MichalCiechan на первый связанный пост):

Сначала добавьте этот класс:

public static class IconHelper
{
    [DllImport("user32.dll")]
    static extern int GetWindowLong(IntPtr hwnd, int index);

    [DllImport("user32.dll")]
    static extern int SetWindowLong(IntPtr hwnd, int index, int newStyle);

    [DllImport("user32.dll")]
    static extern bool SetWindowPos(IntPtr hwnd, IntPtr hwndInsertAfter, int x, 
int y, int width, int height, uint flags);

    [DllImport("user32.dll")]
    static extern IntPtr SendMessage(IntPtr hwnd, uint msg, IntPtr wParam, IntPtr 
lParam);

    const int GWL_EXSTYLE = -20;
    const int WS_EX_DLGMODALFRAME = 0x0001;
    const int SWP_NOSIZE = 0x0001;
    const int SWP_NOMOVE = 0x0002;
    const int SWP_NOZORDER = 0x0004;
    const int SWP_FRAMECHANGED = 0x0020;
    const uint WM_SETICON = 0x0080;

    public static void RemoveIcon(Window window)
    {
        // Get this window's handle
        IntPtr hwnd = new WindowInteropHelper(window).Handle;
        // Change the extended window style to not show a window icon
        int extendedStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
        SetWindowLong(hwnd, GWL_EXSTYLE, extendedStyle | WS_EX_DLGMODALFRAME);
        // Update the window's non-client area to reflect the changes
        SetWindowPos(hwnd, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | 
SWP_NOZORDER | SWP_FRAMECHANGED);
    }
}

Затем добавьте это в MainWindow.xaml.cs:

protected override void OnSourceInitialized(EventArgs e)
{
    IconHelper.RemoveIcon(this);
}

Oh ... и еще одно замечание ... это не сработает, если вы установили Window.Icon свойство, но я предполагаю, что вы этого не сделали, если вы не хотите, чтобы значок появлялся.

0
задан user10869858 17 January 2019 в 04:13
поделиться