如何在加载图像时获得黑色背景?

2024-02-23

这是一个非常简单的应用程序,它加载一个带有黑色背景的窗口。

<Window x:Class="MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Width="1365" Height="768"
        WindowStartupLocation="CenterScreen"
        Background="Black">
</Window>

效果很好,但如果我添加图像控件,我希望它会显示黑色一秒钟,直到我的图像加载完毕。

<Image Source="pack://application:,,,/assets/images/bg.jpg" />

但由于某种原因,背景显示为白色。图像在加载后显示得非常好,但我希望加载的那 1 秒是黑色,而不是白色。

如何在加载图像时显示黑色背景?


我尝试从背景加载图像,但没有成功。我尝试加载图像并使用动画从 0 到大的动画,但这并没有真正起作用,您必须使用固定宽度。最后,我只是想我应该使用故事板来改变可见性,当Image.Loaded事件被触发。

在工作解决方案中,保存图像的网格的可见性将从折叠变为可见 0.1 秒afterImage.Loaded 事件触发。您可以通过更改“MG”的默认可见性来证明这是有效的Grid隐藏或可见,并注意窗口为白色的时间比设置为折叠时的时间更长。

工作XAML

<Window x:Class="Test.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:Test"
        mc:Ignorable="d"
        Title="MainWindow"
        Height="350"
        Width="525"
        Background="Black">
    <Grid x:Name="MG" Background="Black" Visibility="Collapsed">
        <Image Source="pack://application:,,,/assets/images/bg.jpg">
            <Image.Triggers>
                <EventTrigger RoutedEvent="Loaded">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard>
                                <ObjectAnimationUsingKeyFrames Duration="0:0:0.1"
                                                               Storyboard.TargetName="MG"
                                                               Storyboard.TargetProperty="Visibility">
                                    <ObjectAnimationUsingKeyFrames.KeyFrames>
                                        <DiscreteObjectKeyFrame>
                                            <DiscreteObjectKeyFrame.Value>
                                                <Visibility>Visible</Visibility>
                                            </DiscreteObjectKeyFrame.Value>
                                        </DiscreteObjectKeyFrame>
                                    </ObjectAnimationUsingKeyFrames.KeyFrames>
                                </ObjectAnimationUsingKeyFrames>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Image.Triggers>
        </Image>
    </Grid>
</Window>

Note:您可能需要根据要渲染的图像的文件大小来调整时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在加载图像时获得黑色背景? 的相关文章

随机推荐

  • 如何使用 GluonHQ 客户端、Native Image 和 GraalVM 解决已编译的 JavaFX 项目中的 fxml 加载异常?

    这是一个后续问题this https stackoverflow com questions 63419433 how to use graalvm with javafx to compile a native image in mave
  • Angular 2 backgrounImage 中的样式绑定抛出错误

    我正在尝试使用 Angular 2 创建一个应用程序 这是我的模板 div class cover user profile div 我认为 angular2 认为 url 是一个函数并抛出错误 这个问题的解决方案是什么 符号期望expre
  • 如何防止图表中的刻度标签被切断?

    我有问题chartjs http chartjs org其中刻度标签通过以下方式被 切断 1 是否有可以设置的边距 我在 ChartJS 文档中没有看到任何关于此的内容 并且这些似乎包含在 ChartJS Canvas 元素中 意思是 不被
  • 表格视图图像从未发布

    我正在对我的一个应用程序进行重大更新 并尝试减少内存使用量并使其更干净 更快 我正在使用 Instruments 来分析应用程序 并且正在查看 UIImage 分配 当应用程序启动时 我有大约 10 个 尽管其中一个是状态栏图标 不知道为什
  • 不断刷新jquery数据

    我有这个代码 它正在计算某个项目被选择的次数 但是 只有当我在更改选项后刷新页面时 它才可以正常工作和计数 我需要一种方法让它不断刷新或 实时 所以如果它每秒自动刷新 每次页面中发生更改时它都会正确反映 我知道如何进行整页自动刷新 但我不想
  • 将 cookie 传递给 GET 请求(POST 之后)的问题

    我在这个问题上被困了好几天了 由于尝试不同的组合但没有成功 我的眼睛开始受伤 问题是 我正在制作一个应用程序 它必须从互联网获取数据 解析它 然后将其显示给用户 我已经尝试了多种方法来做到这一点 并且使用 JSOUP 非常有帮助 尤其是在解
  • 它是什么以及如何摆脱它

    我注意到 在查看我的页面源代码时 这些字符 shy 紧接着显示 div 标签 我检查了我的编码 但找不到它来自哪里 我做了一些研究 他们说它就在那里 所以可以省去一些话 靠近 h1 标签 我有一个比标题大一点的浮动图像 我想知道这是否是造成
  • SwiftUI:从单元格视图中删除托管对象会使应用程序崩溃[非可选属性]?

    我发布了这个问题 SwiftUI 从单元格视图中删除托管对象会使应用程序崩溃 https stackoverflow com questions 73159270 swiftui deleting managed object from c
  • Asp.Net System.Web.Routing 查找实际的 .aspx 页面

    我正在使用 System Web Routing 来获得一些更好的 URL 但遇到了问题 我需要知道处理请求的实际页面 例如 请求如下 basketball home 我需要找到处理该请求的页面 例如 management default
  • 查找或替换文本区域(选择)

    我无法在 Android Studio 中使用 查找 或 替换 功能来选择文本 结果总是显示在选择中未找到 xxx 我的Android Studio版本是1 2 2 即使今天我将Android Studio更新到最新的1 3 0 它仍然无法
  • 如何移动到下一个大写字母?

    在 vim 中我可以使用f后跟一个字符 以转到当前行中该字符的下一个出现位置 例如 如果我有以下内容 光标位置标记为 m akeBinExprNode undefined 我可以用fB搬到B and dtE删除直到之前E 留给我 make
  • Sequelize hasMany、belongsTo 或两者兼而有之?

    我想与sequ elize正确设置一对一或一对多关系 事实上 如果我使用其中之一 一切似乎都工作得很好hasOne hasMany or belongsTo在我的模型定义中 例如 以下关联确实创建了userId他们的目标字段 User ha
  • 在 Eclipse 中调试时查找类的所有实例

    我想知道 Java JVM 的工作方式是否意味着像 Eclipse 这样的调试工具可以向我显示给定类的所有实例的列表 我想人们可以编写一些反射代码 但我不想每次都在同一个地方中断执行 相反 我想中断执行并显示所有的列表MyClass123调
  • Clojure - 分割向量

    如果我有两个参数 1 2 3 4 和 5 6 我怎样才能得到 1 5 2 6 3 5 4 6 我想我可能必须使用for所以我尝试了 for x 1 2 3 4 for xx x for y 5 6 xx y 但它又回来了 1 5 1 6 2
  • Laravel 子域:所有子域的单一身份验证不起作用?

    我正在构建一个带有动态子域系统的网站 例如 name domain com 我正在使用 Ubuntu 和 laravel 的服务命令 我在我的路线中将其全部设置如下 Route domain x localhost gt group fun
  • 如何重置 html id

    我有一个 id
  • 映射网络驱动器:“net.exe USE”与 WshNetwork.MapNetworkDrive?

    我正在寻找在我的程序中映射驱动器 我的用户可以使用从 XP 开始的每个版本的 Windows 所以我需要最通用的方法 我以前用过第一种方法 一般来说它对我来说效果很好 但确实没有办法捕获它的错误 无论如何我都知道 第二个方法可以轻松地让我在
  • 从 Url 创建一个工作 UIPrinter 对象以进行无对话打印

    场景 引导模式锁定的应用程序接受一些用户输入 姓名等 并将其打印出来 用户无法选择打印机 我计划的解决方案是保存打印机的 URL 该 URL 的形式如下 ipp
  • axios 响应数据在多选时预选

    我使用流行的多选插件Shenao vue multiselect https github com shentao vue multiselect
  • 如何在加载图像时获得黑色背景?

    这是一个非常简单的应用程序 它加载一个带有黑色背景的窗口