c # - Tag vinduesknapper til forsiden

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg udvikler for øjeblikket en Twitter-applikation til Windows, der ligner Twitter-klienten til OSX.


Jeg bruger museet Windows Shell Extensions, der findes her for at gøre hele vinduet Aero, og kan strække sig ud over grænserne for det udpegede vinduessted. [2]


Jeg vil have, at vindueknapperne (Minimer, Maksimer, Luk) skal vises over toppen af ​​gitteret med den hvide baggrund. Dette er en funktionalitet, som jeg troede ville være blevet indbygget i Windows, men tilsyneladende er jeg fejl.


De to billeder nedenfor illustrerer mit punkt. I det andet billede ønsker jeg, at vindueknapperne skal have forrang over hvidbaggridet, ikke omvendt som det vises.


Er der nogen form for kodestykke eller XAML-uddrag, der 'hjælper mig' Har nogen andre nogensinde haft dette problem før?


Vinduet er dimensioneret, så knapperne viser
Vinduet er dimensioneret, så knapperne ikke vises.

Bedste reference


Jeg snuble over en simpel, men alligevel snavset løsning. Jeg har lige lavet en sti for at gå rundt på Windows-knapperne, og sæt baggrunden for ydersiden til hvid, eller hvilken baggrundsfarve jeg brugte. Så spiste jeg bare rektangler sammen for at få det til at se godt ud.


Her er den resulterende kode:


<Grid HorizontalAlignment="Stretch" VerticalAlignment="Top" Grid.Row="0" Height="20">
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="1.0*" />
      <ColumnDefinition Width="105" />
      <ColumnDefinition Width="5" />
    </Grid.ColumnDefinitions>
    <Rectangle Grid.Column="0" Fill="#FFFFFFFF" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
    <Path HorizontalAlignment="Stretch" Grid.Column="1" Stretch="Fill" VerticalAlignment="Bottom" Height="20" Fill="#FFFFFFFF" Data="M 0,4.11334L 4.008,4.11334C 1.792,4.11334 0,2.27332 0,0L 0,4.11334 Z M 140,4.11334L 135.957,4.11334C 138.192,4.11334 140,4.11334 140,0L 140,4.11334 Z  " />
    <Border Grid.Column="2" CornerRadius="0, 10, 0, 0" Background="#FFFFFFFF" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" />
  </Grid>


Og her er det resulterende billede:


Indtast billedbeskrivelse her

Andre referencer 1


du bør skjule din minimere maksimere og lukke knapper og tegne dine egne som beskrevet her.


http://winsharp93.wordpress.com/2009/07/21/wpf-hide-the-window-buttons-minimize-restore-and-close-and-the-icon-of-a-window/[3]]]