如何旋转WPF窗口?

| 是否可以使用xaml将WPF窗口旋转45度?
已邀请:
第一个问题:为什么要旋转整个窗口? 如果您确实需要它: 您无法旋转普通的WPF窗口。另请:旋转窗口 您将必须创建一个无边界窗口并为其提供UI。请参阅:用于自定义窗口框架的WPF非客户区域设计技术 对于旋转的窗口外观: 组: AllowTransparency属性为 真正。 WindowStyle为无 删除窗口铬 背景 透明 包括边框(或任何有意义的矩形,圆形,椭圆形等)作为窗口的内容和border的以下属性: 白色背景(或任何非透明颜色) 旋转变换,以及 较小的尺寸(以便在窗口内旋转时适合)。 边框将为您的窗口提供UI。 请注意创建自己的无边界窗口的注意事项,因为它需要您提供窗口界面,如最小化,最大化,关闭按钮;并可能需要一些非托管代码。 同样,在下面的示例代码中,旋转时的边框必须保持在窗口的范围内,否则将修剪边框(和您的自定义窗口)。 样例代码
<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>
据我所知,您不能旋转整个窗口,但是可以将窗口中的所有内容放入自定义控件中,然后将RenderTransform对象应用于自定义控件。 示例(有点简单): http://www.codeproject.com/KB/WPF/TransformationsIntro.aspx -丹

要回复问题请先登录注册