c# - 如何制作不聚焦的窗户亚克力?
问题描述
当亚克力窗口没有聚焦时,它不是亚克力。
代码
<Page
x:Class="AcrilicTest.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:media="using:Windows.UI.Xaml.Media"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Page.Resources>
<media:AcrylicBrush x:Key="HostBackdropBrush"
BackgroundSource="HostBackdrop"
TintColor="LightBlue"
TintOpacity="0.6"
FallbackColor="LightSkyBlue" />
</Page.Resources>
<Grid Background="{StaticResource HostBackdropBrush}" />
</Page>
截图
重点(亚克力):
不聚焦(不是亚克力):
解决方案
这是设计使然。“渲染丙烯酸表面是 GPU 密集型的,这会增加设备功耗并缩短电池寿命。” 当桌面上的应用程序窗口停用时,背景丙烯酸将被替换为纯色。有关详细信息,请参阅丙烯酸材料。
我可以禁用此功能以获得漂亮的界面吗?
如果你使用背景丙烯酸(BackgroundSource="HostBackdrop"
),这是不可能的。如果您使用应用内丙烯酸(BackgroundSource="Backdrop"
),在您的情况下,它看起来会更好。当您的应用程序不在活动桌面窗口中时,亚克力仍然存在。
<Grid>
<Grid.Resources>
<AcrylicBrush x:Key="MyAcrylicBrush"
BackgroundSource="Backdrop"
TintOpacity="0.3" TintColor="#FFFF0000" FallbackColor="#FF008000"></AcrylicBrush>
</Grid.Resources>
<Grid.Background>
<ImageBrush ImageSource="Assets/panda.jpg"></ImageBrush>
</Grid.Background>
<Rectangle Fill="{StaticResource MyAcrylicBrush}" Height="300" Width="500"></Rectangle>
</Grid>
推荐阅读
- r - 用另一个变量的值替换零
- excel - 模拟旧 API 版本进行测试
- apache-kafka - Apache Kafka and Apache Storm Integration
- image - 如何通过http下载图像并在加载后将其显示给用户?
- docker - How to setup GitLab CE CI to user docker images for runners
- ios - Using AWS sdk on IOS without using Identity Pool
- reactjs - 从 react-ace 编辑器中的排水沟中删除所有注释
- android - 使用 Android 作为客户端和节点 js 作为服务器的 Google Auth
- groovy - Cassandra 在 Jmeter 错误中进行常规测试
- javascript - 通过具有多个键的另一个对象数组过滤对象数组