Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I did a bit of digging; there's a <a href="https://stackoverflow.com/questions/3096359/wpf-remove-system-menu-icon-from-modal-window-but-not-main-app-window">StackOverflow question</a> that addresses your issue. Ironically, this fix only works outside of Visual Studio.</p> <p>Relevant Parts of the Answer (by <a href="https://stackoverflow.com/users/77914/zach-johnson">Zach Johnson</a>):</p> <p>It appears that <code>WS_EX_DLGMODALFRAME</code> only removes the icon when the WPF window's native Win32 window does not have an icon associated with it. WPF (conveniently) uses the application's icon as the default icon for all windows without an explicitly set icon. Normally, that doesn't cause any problems and saves us the trouble of manually setting the application's icon on each window; however, it causes a problem for us when we try to remove the icon.</p> <p>Since the problem is that WPF automatically sets the window's icon for us, we can send <a href="http://msdn.microsoft.com/en-us/library/ms632643(VS.85).aspx" rel="nofollow noreferrer">WM_SETICON</a> to the Win32 window to reset its icon when we are applying <code>WS_EX_DLGMODALFRAME</code>.</p> <pre><code>const int WM_SETICON = 0x0080; const int ICON_SMALL = 0; const int ICON_BIG = 1; [DllImport("User32.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern IntPtr SendMessage( IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); </code></pre> <p>Code to remove the icon:</p> <pre><code>IntPtr hWnd = new WindowInteropHelper(window).Handle; int currentStyle = NativeMethods.GetWindowLongPtr(hWnd, GWL_EXSTYLE); SetWindowLongPtr( hWnd, GWL_EXSTYLE, currentStyle | WS_EX_DLGMODALFRAME); // reset the icon, both calls important SendMessage(hWnd, WM_SETICON, (IntPtr)ICON_SMALL, IntPtr.Zero); SendMessage(hWnd, WM_SETICON, (IntPtr)ICON_BIG, IntPtr.Zero); SetWindowPos(hWnd, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); </code></pre> <p>It works only when the app is run <em>outside</em> of Visual Studio.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload