问题标签 [windows-composition-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

c# - 如何在 UWP Composition API 中组合多种效果

我想结合模糊,饱和度和色调颜色。

我有一个混合效果,由 GaussianBlur 和 Tint 颜色组成。

如何在此效果之前或之后添加 SaturationEffect?

我试图将它包装到另一个 BlendEffect 中并将另一个 BackdropBrush 设置为 SaturationEffect 的来源,但我只有白色背景。

我还尝试从 SaturationEffect 创建画笔并将其设置为 GaussianBlur 的来源,但出现异常“Invalid Source Brush”

0 投票
1 回答
231 浏览

c# - UWP 合成视觉对象的动画属性的当前值?

我有一个SpriteVisual我正在使用KeyFrameAnimations 为不透明度、偏移量和大小设置动画的 a。在动画运行时,属性值似乎不受影响:它们显示初始值,直到动画结束,此时它们更新为最终值。

我希望能够在动画的一部分中获取当前值,而不必停止动画以同步属性或存储动画的单独副本及其开始时间以便自己计算值。

这可能吗?

0 投票
2 回答
2235 浏览

c# - 如何在 Windows 10 Creators Update 中正确使用 Acrylic Accent (CreateHostBackDropBrush())?

我想做一些可能有点棘手的事情,因为它是 Win 10 Creators Update 中的一项新功能:我想使用新的 Acrylic Accent 功能在 UWP 应用程序中制作透明的 Windows。我看到微软已经在 Fast Insider Ring 的 Groove 和 Film & TV 中引入了它。

这是我开发的代码,使用 Win Dev Center 中的示例和 Stack Overflow 上的其他答案:

用作根面板LayoutRoot的位置在哪里。RelativePanel

但是有些东西不起作用:什么?我怎样才能将它应用于 a UIElement,比如 aPage或 a Panel

我真的很感谢你的帮助,谢谢。

0 投票
2 回答
21914 浏览

c# - 如何在 Windows 10 Creators Update 中使用 Acrylic Accent?

我找不到任何使用 Acrylic Accent ( CreateBackdropBrush ) 的详细文档。我在 StackOverflow 中找到了一篇文章,它有些用处,但对入门没有帮助。所以请为这篇文章创建一个详细的答案,以便每个人都可以学习。

更新:

微软已发布官方亚克力材质文档

笔记:

如果有人不知道亚克力口音。Acrylic Accent 是 Windows 10 Creators Update 中的新功能,可让应用背景变得模糊和透明。在此处输入图像描述在此处输入图像描述

0 投票
0 回答
74 浏览

c# - 如何创建与 Microsoft Acrylic Accent 一起使用的“纸浆”纹理?

我想生成 MS 在其自己的应用程序(如 Groove 和 Movie)中使用的“纸浆”纹理。

我已经知道如何使用 CreateHostBackdropBrush() 等创建透明背景。

我只想知道是否有人对使用的特定纹理有一些想法,也许使用了一些合成效果?

这是一个例子:

在此处输入图像描述

任何想法?

我喜欢它!

0 投票
1 回答
207 浏览

c# - 调用 CompositionCapabilities.GetForCurrentView 时获取访问被拒绝异常

我打电话时遇到以下异常CompositionCapabilities.GetForCurrentView

System.UnauthorizedAccessException: '访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))'

奇怪的是代码编译正常,所以我假设 API 是可用的。我是否需要在 Package.appxmanifest 中声明任何功能?

0 投票
1 回答
728 浏览

c# - UWP 社区淡入淡出动画完全不改变不透明度

我的问题很简单。我正在使用 UWP 社区工具包为 xaml 元素的淡入淡出动画制作动画,但我什至检查了断点;上面的代码确实将其不透明度从 0 变为 1,而不是不透明度保持在 0(这是我为元素设置的默认值)。

更新

XAML

0 投票
1 回答
510 浏览

uwp - UWP 可折叠页眉

我正在尝试实现可折叠页眉。主要思想是我必须根据scrollviewer.

这是我想要达到的结果。

页眉的初始状态

主要布局

向下滚动时的页眉

向下滚动时的主布局

我的 XAML 代码:

我曾尝试使用 来实现这一点,Compositor.CreateExpressionAnimation但效果不佳。谁能告诉我该怎么做?

更新:

尝试为 Scale.X 或 Scale.Y 值设置动画时抛出异常,但我不知道为什么。其他视觉项目与缩放动画配合得很好。

例外headerVisual.StartAnimation

更新的xml:

完整的 xaml.cs:

0 投票
1 回答
457 浏览

c# - uwp 表达式节点淡入动画

我正在使用 Windows UI 开发实验室示例库中的示例。我使用 ShyHeader 示例放入我的应用程序,但我没有使用完全相同的代码,但我实际上根据自己的需要编辑了示例。我的问题是如何使用表达式节点淡入与滚动查看器相对应的特定 XAML 元素,我可以使用滚动查看器淡出元素。但我无法从不透明度 0 -> 不透明度 1 淡入元素。 这是我的代码。

页面加载方法

唯一重要的一段代码只是在这个方法的最后,最后 4、5 行,你可以看到我可以通过1-progresNode淡出元素,但我尝试淡入另一个元素( frontVisual )做0+ progressNode不起作用,即使在我滚动之后,frontVisual 实际上仍然保持在 0 不透明度。private void ShyView_Loaded(object sender, RoutedEventArgs e) { // 从 MyScrollViewer 获取包含滚动值的 PropertySet _scrollerPropertySet = ElementCompositionPreview.GetScrollViewerManipulationPropertySet(MyScrollViewer); _compositor = _scrollerPropertySet.Compositor;

请注意我真正想要的行为是,当我向下滚动时,FlipView应该淡出,当我向上滚动到顶部时,它应该淡入,这是完美的,但我希望FrontGrid与之完全相反,即:淡入淡出向下滚动时进入并在向上滚动时淡出。

提前致谢

0 投票
1 回答
624 浏览

c# - 如何在创作者更新中将后备颜色应用于亚克力

关注此帖子后:如何在 Windows 10 Creators Update 中使用 Acrylic Accent?

我已经在创作者更新上成功地将亚克力添加到我的应用程序中。不幸的是,当在 Windows 的颜色设置中禁用透明度时,我的应用程序的背景在浅色主题中是非常深的灰色,或者在深色主题中几乎完全是黑色,尽管我将网格的背景设置在相关面板上方使窗口对以下内容透明:Background="{ThemeResource CommandBarBackground}"。

有谁知道如何在创建者更新中实现后备颜色,以便在禁用透明度时,背景切换到设置的原始背景颜色。