Элементы управления “из окна / chrome” в WPF

StackOverflow https://stackoverflow.com/questions/805620

  •  03-07-2019
  •  | 
  •  

Вопрос

Есть ли способ разместить элементы управления / изображения / etc "вне" окна / Chrome (т. Е. стекла Aero) в WPF?

Примером того, что я имею в виду, является WPF Yahoo Messenger который был выпущен (а затем снят с производства) некоторое время назад.WindowStyle выглядит так, как будто для него установлено значение None, но для AllowTransparencies / CanResize установлено значение false / true соответственно - и аватар немного "не в окне / chrome".

Я знаю, что я мог бы создаю свою собственную стеклянную рамку, но это может потребовать изрядных усилий, чтобы она выглядела единообразно.

Это было полезно?

Решение

Да, я полагаю, вам придется заменить интерфейс window на свой собственный.Вы можете начать с прозрачного окна и сетки внутри, оставив некоторое поле вокруг сетки.Затем поместите большие пальцы, строку заголовка и т.д. На сетку, чтобы имитировать поведение окна.Поля вокруг сетки позволят вам рисовать элементы управления за пределами вашего "окна".

<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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top