ho creato una finestra senza bordi WPF impostando le seguenti proprietà della finestra in XAML:problemi WPF bordi della finestra: Aero Snap & Massimizzare
... WindowStyle="None" AllowsTransparency="True" ...
Questo provoca una serie di questioni:
1) Risolto: Non ha più alcuna funzionalità di ridimensionamento incorporata
2) Risolto: Non ha più bu ILT-in funzionalità di trascinamento
3) risolto: Senza barra degli strumenti superiore, essa non ha più pulsanti di chiusura
4) risolto minimizzare/massimizzare/restore /: Massimizzare tramite scatto aero o impostazione impedisce WindowState da unsnapping.
5) Ingrandimento tramite snap aerodinamico o impostazione WindowState utilizzerà l'intero schermo come contorno, sovrapponendosi alla barra degli strumenti di Windows.
6) Massimizzazione tramite snap aerodinamico o impostazione WindowState sembra includere un margine -7, dando alla finestra 7 pixel su ciascun lato oltre i bordi della finestra.
1-3 sono stati risolti creando un modello di finestra xaml. Ho usato rettangoli invisibili come regioni di handle e un codice dietro a quello è stato applicato tramite l'override di OnApplyTemplate() per collegare le funzionalità tramite user32.dll SendMessage (...) per ridimensionare/spostare/minimizzare/ingrandire/ripristinare/chiudere.
ho trovato la risposta alla # 4 here
Ho provato a risolvere i 5-6 intercettando il messaggio di ingrandimento tramite WndProc e impostando le dimensioni/posizione manualmente, ma questo ha avuto il problema della sovrascrittura del RestoreRegion alle dimensioni massimizzata/position, rimuovendo la possibilità di ripristinare la finestra.
Ciò che è davvero strano è che il ridimensionamento della finestra dal bordo superiore alla parte superiore dello schermo fa scattare lo snap aero a tutta altezza senza problemi.
Quindi, ho fatto molta strada, ma il 5-6 è ancora un problema ... esiste un modo per specificare manualmente la regione di ingrandimento? Oppure, c'è un modo per impostare le dimensioni della finestra senza influenzare la proprietà restoreregion?
Sarebbe bello se si aggiunge la soluzione 1-4 in una risposta .. – CularBytes
distaccato, mi piacerebbe molto avere la risposta per # 4 – mgarant