Controls “para fora da janela / cromo” no WPF
-
03-07-2019 - |
Pergunta
Existe uma maneira de ter controles / imagens / etc "fora de" a Janela / Chrome (ie, vidro de Aero) em WPF?
Um exemplo do que quero dizer é o WPF Yahoo Messenger que foi lançado (e depois descontinuado) um pouco para trás. Os olhares windowstyle como ele está definido para Nenhum, mas AllowTransparencies / CanResize conjunto para false / true, respectivamente. - E o avatar é um pouco "fora da janela / cromo"
Eu sei que eu poderia criar minha própria fronteira de vidro, mas que pode ser um pouco de esforço para dar a aparência consistente.
Solução
Sim, eu acredito que você terá que substituir a interface de janela com o seu próprio. Você pode começar com janela transparente e uma grade dentro deixando alguma margem ao redor da grade. polegares em seguida, colocar, barra de título etc no grid para o comportamento da janela de simulação. Margem ao redor da grade lhe permitirá desenhar controles fora de sua "janela".
<Window
x:Class="TransparentFormDemo.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="300"
AllowsTransparency="True"
WindowStyle="None" Background="Transparent">
<Grid Margin="20" Background="AliceBlue">
<Thumb Name="topThumb" Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Top"
DragDelta="topThumb_DragDelta" Cursor="SizeNS"/>
<!--Thumbs continued-->
<Polygon Points="10,110 60,10 110,110" Fill="Blue" Margin="0,-30"/>
</Grid>
</Window>