Первый вопрос: почему вы хотите повернуть все окно?
Если вам это действительно нужно:
Нельзя поворачивать обычное окно WPF.См .: Поворот окна
Вам нужно будет создать окно без полей и предоставить ему интерфейс.См .: Методы проектирования не клиентской области WPF для пользовательских оконных рам
Для вида повернутого окна:
Набор:
- Свойство AllowTransparency имеет значение true.
- WindowStyle to None для удаления хрома окна
- Фон для прозрачного
Включение границы (или чего-либо значимого, например прямоугольника, круга, эллипса,и т.д.) в качестве содержимого окна и следующих свойств границы:
- белый фон (или любой непрозрачный цвет)
- поворотное преобразование и
- меньшеразмер (чтобы соответствовать при повороте в пределах окна).
Граница предоставит пользовательский интерфейс для вашего окна.
Будьте осведомлены о каваетах создания собственного окна без полей,поскольку для этого требуется предоставить интерфейс окна, такой как кнопки свертывания, сворачивания, закрытия;и может потребовать некоторый неуправляемый код.
Кроме того, в приведенном ниже примере кода граница при повороте должна оставаться в границах окна, иначе она (и ваше пользовательское окно) будет обрезана.
Пример кода
<Window x:Class="CustomWindowStyle.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
AllowsTransparency="True" WindowStyle="None" Background="Transparent"
Title="MainWindow" Height="600" Width="600">
<Border BorderBrush="Green" BorderThickness="2" Background="White" Width="360" Height="360">
<Border.RenderTransform>
<RotateTransform Angle="-45" CenterX="180" CenterY="180"/>
</Border.RenderTransform>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="23" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button Grid.Row="0" Content="X" Height="23" Width="23" Name="button1" HorizontalAlignment="Right" VerticalAlignment="Top" Click="button1_Click"/>
<Grid Grid.Row="1">
<!--Main window content goes here-->
<TextBlock Text="Main window content goes here" HorizontalAlignment="Center" />
</Grid>
</Grid>
</Border>
</Window>