动画WPF动画时的黑匣子

时间:2013-05-31 22:25:58

标签: c# .net wpf xaml

所以,我正在为一个窗口打开动画,除了一个关键部分之外,动画看起来非常适合我要做的事情......窗口之间的空间和它当前在动画中的位置是一个黑盒子。

我已经搜索了很多,但我没有看到这个问题在任何地方提到过!

我也在标准窗口中尝试了这个,除了黑框之外没有区别仅在窗口边框内显示。除了Visual Studio为我生成的内容之外,我没有任何代码隐藏。

这是我的窗口:

<Controls:MetroWindow x:Class="Schedule.MainWindow"
    xmlns:Controls="clr-namespace:MahApps.Metro.Controls;assembly=MahApps.Metro"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Name="mainWindow"
    Title="MainWindow" Height="350" Width="525" WindowStartupLocation="CenterScreen">

<Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colours.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
            <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Window.Resources>

<Window.RenderTransform>
    <ScaleTransform ScaleX="1" ScaleY="1" x:Name="winTransform1"/>
</Window.RenderTransform>

<Window.RenderTransformOrigin>
    <Point X=".5" Y=".5"/>
</Window.RenderTransformOrigin>

<Window.Triggers>
    <EventTrigger SourceName="mainWindow" RoutedEvent="Window.Loaded">
        <BeginStoryboard Name="openBoard">
            <Storyboard>
                <DoubleAnimation Storyboard.TargetName="winTransform1" Storyboard.TargetProperty="ScaleX"
                                 From="0" To="1" Duration="0:0:1"/>
            </Storyboard>
        </BeginStoryboard>
    </EventTrigger> 
</Window.Triggers>

<Grid> 

</Grid>

1 个答案:

答案 0 :(得分:2)

您需要将Windows AllowsTransparency属性设置为true,这样才能获得黑色背景。

Title="MainWindow" Height="350" Width="525" AllowsTransparency="True" WindowStyle="None" >

然而 AllowsTransparency仅适用于WindowStyle.None,因此您将丢失应用程序的默认窗口边框,我不认为还有其他方法,但是你可以使用关闭/最小化等按钮轻松制作自定义窗口样式