窗口形状可以是平行四边形

时间:2014-01-21 16:14:00

标签: c# wpf window custom-controls shapes

我正在使用WPF中的自己的软件,我需要在其中使窗口的形状成为平行四边形。记住,我不是在谈论普通的Shape类,但我想修改Window本身的形状。那么,请帮我改变窗口的形状为PARALLELOGRAM .. ??

2 个答案:

答案 0 :(得分:1)

我认为@Marton试图说的是Window本身不能是平行四边形的形状,但你可以隐藏Window并在应用程序背景中显示平行四边形的形状看起来好像是Window

问题在于,您将隐藏Window及其所有有用的Button和可调整大小的边框。但是,添加自己的关闭,最小化和最大化Button并不太困难。

不是在这里解释整个故事,我可以引导您阅读一些已经解释过的在线文章吗?第一个链接可能是@Marton得到他的图像背景的想法:Shaped WPF Form ...啊啊,是的,这是......搜索中的第一个结果。

接下来,我们在C#Corner网站上发布了Shaped Windows in WPF文章。这个解释了如何移动和关闭应用程序(没有默认的Button)。最后,我们还有一篇更深入的文章,其中还解释了自定义形状Window ... Irregular Shaped Windows in WPF页面上42个随机想法通过Babelfish网站过滤的其他方面。

答案 1 :(得分:1)

试试这个

<Window x:Class="Test.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"               
    WindowState="Maximized" WindowStyle="None" AllowsTransparency="True" Template="{DynamicResource parallogram}"   >
<Window.Resources>
    <ControlTemplate x:Key="parallogram" TargetType="Window">
        <Border>
            <Border.LayoutTransform>
                <SkewTransform  AngleY="20"  ></SkewTransform>
            </Border.LayoutTransform>
            <ContentPresenter/>
        </Border>
    </ControlTemplate>
</Window.Resources>

<Grid Background="AliceBlue">
    <TextBox Height="35" Width="100"></TextBox>
</Grid>

进行偏斜转换访问

http://msdn.microsoft.com/en-us/library/system.windows.media.skewtransform(v=vs.110).aspx