首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Windows 10创建者更新中使用丙烯酸口音?

如何在Windows 10创建者更新中使用丙烯酸口音?
EN

Stack Overflow用户
提问于 2017-04-29 18:41:23
回答 1查看 22.4K关注 0票数 31

我找不到使用丙烯酸口音(CreateBackdropBrush)的详细文件。我在StackOverflow中找到了一个StackOverflow,它有点有用,但它无助于开始工作。因此,请为这个帖子创建一个详细的答案,以便每个人都可以学习。

更新:

微软发布了一份正式的丙烯酸材料文档

注:

如果有人不知道丙烯酸口音。丙烯酸口音是Windows 10创建者更新的新功能,它允许应用背景模糊透明。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-30 21:17:10

创建者更新

XAML

您需要使用应用程序背景上的组件,比如RelativePanel

代码语言:javascript
复制
<RelativePanel Grid.Column="0" Grid.ColumnSpan="2" MinWidth="40" x:Name="MainGrid" SizeChanged="Page_SizeChanged"/>
<RelativePanel Grid.Column="0" Width="{Binding ElementName=MainGrid,Path=Width}" Background="#28000000"/>
<Grid>
    <!--Having content here, for example textblock and so on-->
</Grid>

第二个RelativePanel用于设置模糊上方的阴影颜色。

.CS

然后可以使用以下代码:

代码语言:javascript
复制
private void applyAcrylicAccent(Panel panel)
{
    _compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;
    _hostSprite = _compositor.CreateSpriteVisual();
    _hostSprite.Size = new Vector2((float) panel.ActualWidth, (float) panel.ActualHeight);

    ElementCompositionPreview.SetElementChildVisual(panel, _hostSprite);
    _hostSprite.Brush = _compositor.CreateHostBackdropBrush();
}
Compositor _compositor;
SpriteVisual _hostSprite;

使用applyAcrylicAccent(MainGrid);调用它时,还需要处理SizeChanged事件:

代码语言:javascript
复制
private void Page_SizeChanged(object sender, SizeChangedEventArgs e)
{
    if (_hostSprite != null)
        _hostSprite.Size = e.NewSize.ToVector2();
}

当然,您需要在Creator上运行它,CreateHostBackdropBrush()不能在移动设备上工作,也不能在平板模式下工作。

此外,考虑到面板或网格,您设置的丙烯酸颜色将无法显示任何控制(就我已经测试过)。所以你需要在没有任何控制的情况下使用你的相对面板。

透明标题栏

可以使用以下代码设置标题栏的透明度

代码语言:javascript
复制
ApplicationViewTitleBar formattableTitleBar = ApplicationView.GetForCurrentView().TitleBar;
formattableTitleBar.ButtonBackgroundColor = Colors.Transparent;
CoreApplicationViewTitleBar coreTitleBar = CoreApplication.GetCurrentView().TitleBar;
coreTitleBar.ExtendViewIntoTitleBar = true;

这里是上面代码生成的一个例子(还添加了一些其他内容)。

秋季更新10.0.16190及以上

正如贾斯汀XL在下面的回答中提到的,从构建16190及以上开始,开发人员可以访问位于Windows.UI.Xaml.Media (丙烯酸API)的不同丙烯酸刷和Microsoft:丙烯酸材料指南的指导方针。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43699256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档