所以,我正在为一个窗口打开动画,除了一个关键部分之外,动画看起来非常适合我要做的事情......窗口将之间的空间和它当前在动画中的位置是一个黑盒子。
我已经搜索了很多,但我没有看到这个问题在任何地方提到过!
我也在标准窗口中尝试了这个,除了黑框之外没有区别仅在窗口边框内显示。除了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>
答案 0 :(得分:2)
您需要将Windows AllowsTransparency
属性设置为true,这样才能获得黑色背景。
Title="MainWindow" Height="350" Width="525" AllowsTransparency="True" WindowStyle="None" >
然而 AllowsTransparency
仅适用于WindowStyle.None
,因此您将丢失应用程序的默认窗口边框,我不认为还有其他方法,但是你可以使用关闭/最小化等按钮轻松制作自定义窗口样式