【问题标题】:Remove black screen upon application launch应用程序启动时消除黑屏
【发布时间】:2019-02-19 05:06:01
【问题描述】:

我创建了一个 C# WPF 应用程序。因为我有有限的 UI 组件(标签、MediaElement、图像源(4))。我正在使用最大化窗口加载我的应用程序。 当我启动我的 exe 时,黑屏会显示一秒钟,然后会出现实际的 UI。

我设置了一个属性,即 AllowsTranparency = True。它解决了上述问题,但需要一个新的,即如果此属性设置为 true,则在 MediaElement 中播放的视频会滞后很多。

所以,这个解决方案被排除了。

App.xaml:

<Application x:Class="MainWin.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:local="clr-namespace:MainWin"
             Startup="MainWindow.xaml">
</Application>

主窗口.xaml:

<Window x:Class="MainWin.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:MainWin"
        mc:Ignorable="d"
        Title="" Width="width" Height="height"
        Loaded="Window_Load"
        WindowState="Maximized"
        WindowStartupLocation="CenterScreen"
        WindowStyle="None"
        AllowsTransparency="False"
        Topmost="True"
        Opacity="0">
    <Grid x:Name="grid" Width="0" Height="0">
        <MediaElement x:Name="name" Opacity="0" Visibility="Visible" LoadedBehavior="Play" MediaEnded="Media_Ended" Source="loc" Margin="0,0,0,0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="" Visibility="Hidden" Width="1400" Height="660" Opacity="0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="" Stretch="Fill" Visibility="Hidden" Width="20" Height="12" Opacity="0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="" Stretch="Fill" Visibility="Hidden" InkCanvas.Top="530" InkCanvas.Left="2330" Width="2000" Height="12" Opacity="0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="" Stretch="Fill" Visibility="Hidden" InkCanvas.Top="530" InkCanvas.Left="2330" Width="20" Height="12" Opacity="0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="" Stretch="Fill" Visibility="Hidden" Width="20" Height="12" Opacity="0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="loc" Stretch="Fill" Visibility="Hidden" Width="0" Height="12" Opacity="0"/>
        <Image Name="name" RenderOptions.BitmapScalingMode="HighQuality" Source="loc" Stretch="Fill" Visibility="Hidden" Width="20" Height="12" Opacity="0"/>
        <Label x:Name="name" Content="text" Width="712" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Visibility="Hidden" Foreground="White" FontSize="font" FontFamily="font" FontWeight="Regular" Opacity="0"/>
        <Label x:Name="name" Content="text" Width="1248" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Foreground="White" FontSize="font" Visibility="Hidden" FontFamily="font"  FontWeight="Regular" Opacity="0"/>
        <Label x:Name="name" Content="text" Width="710" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Visibility="Hidden" Foreground="White" FontSize="font" FontFamily="font"  FontWeight="Regular" Opacity="0"/>
        <Label x:Name="name" Content="text" Width="710"  HorizontalAlignment="Center" HorizontalContentAlignment="Center" Visibility="Hidden" Foreground="White" FontSize="font" FontFamily="font"  FontWeight="Regular" Opacity="0"/>
    </Grid>
</Window>

我想删除应用程序启动时出现的黑屏。

【问题讨论】:

  • 更改Opacity="1"
  • 没有帮助。通过对窗口执行此操作,而不是黑屏,出现白屏,然后出现黑屏并显示实际的 MainWindow Ui。
  • Window_Load分享您的代码
  • 窗口 xaml 所引用的大图像可能会导致初始化窗口时出现延迟。尝试删除它们(和其他慢元素)并将它们设置在窗口的加载事件中。这可能允许 UI 线程更早地绘制 qindow。
  • @Gopichandar Window_Load 中的代码:- HwndSource source = HwndSource.FromHwnd(new WindowInteropHelper(this).Handle); source.AddHook(new HwndSourceHook(METHOD_NAME));

标签: c# wpf windows performance application-start


【解决方案1】:

更改Background="Color you want" 或透明Window 标签。

【讨论】:

  • 尝试删除 WindowStyle="None"
猜你喜欢
  • 1970-01-01
  • 2014-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-17
  • 1970-01-01
相关资源
最近更新 更多