Mais avec une barre de titre, bien entendu :)

Par défaut, on peut ouvrir une fenêtre sans décoration, ou alors avec une barre de titre standard (menu système, boutons de redimmensionnement et de fermeture). Mais si on veut la barre de titre sans le reste, c'est un peut plus embêtant. On peut toujours jouer sur la propriété ResizeMode="NoResize" pour supprimer deux des trois boutons. Mais le bouton Close est du genre résistant :)

Pour le faire disparaître, il faut en fait faire un peut d'interop et surcharger la méthode OnSourceInitialized de l'objet Window :

/// <summary>

/// Raises the SourceInitialized event. Overrided to cancel the close button.

/// </summary>

/// <param name="e">An EventArgs that contains the event data.</param>

protected override void OnSourceInitialized(EventArgs e)

{

base.OnSourceInitialized(e);

// D‚sactive le menu systŠme de la fenˆtre

IntPtr hwnd = new WindowInteropHelper(this).Handle;

int windowLong = GetWindowLong(hwnd, -16);

SetWindowLong(hwnd, -16, windowLong ^ WS_SYS_MENU);

}

 Et voila :)

Bon, il ne faut pas oublier de déclarer les deux API utilisées :

[DllImport("user32.dll")]

static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong);

[DllImport("user32.dll")]

static extern int GetWindowLong(IntPtr hWnd, int nIndex);

const int WS_SYS_MENU = 0x00080000;