1

だから、私はウィンドウの開口部をアニメーション化しています.アニメーションは、1つの重要な部分を除いて、私がやろうとしていることに完璧に見えます...ウィンドウが表示される場所とアニメーションの現在の場所の間のスペースは黒です.箱。

私はかなりグーグルで検索しましたが、この問題はどこにも言及されていません!

標準ウィンドウでもこれを試しましたが、ウィンドウの境界内にのみ表示されるブラック ボックス以外の違いはありません。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>

4

1 に答える 1

2

AllowsTransparency背景が黒くならないように、Windows プロパティを true に設定する必要があります。

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

ただし AllowsTransparency、アプリケーションのデフォルトのウィンドウ枠が失われるためだけに機能しWindowStyle.Noneます。別の方法はないと思いますが、閉じる/最小化などのボタンを使用してカスタム ウィンドウ スタイルを簡単に作成できます。

于 2013-06-01T00:52:14.817 に答える