UWP开发01之Windows UI2.x
时间:2022-07-23
本文章向大家介绍UWP开发01之Windows UI2.x,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
概要
官方地址:https://docs.microsoft.com/zh-cn/windows/apps/winui/winui2/
安装
NuGet包管理器中添加Microsoft.UI.Xaml
将 Windows UI (WinUI) 主题资源添加到 App.xaml
资源。 可以通过两种方式来这样做,具体取决于你是否有其他应用程序资源。
a. 如果没有其他应用程序资源,
请将 <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
添加到 Application.Resources
:
XAML
<Application>
<Application.Resources>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</Application.Resources>
</Application>
b. 否则,如果有多个应用程序资源集,
请将 <XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
添加到 Application.Resources.MergedDictionaries
:
XAML
<Application>
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application>
将对工具包的引用添加到 XAML 页和代码隐藏页。
- 在 XAML 页的页面顶部添加引用 XAML xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
- 在代码中(如果想要使用类型名称而不对其进行限定),可以添加 using 指令。 C# using MUXC = Microsoft.UI.Xaml.Controls;
窗口背景毛玻璃效果
页面文件
<Page
x:Class="App1.MainPage"
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:local="using:App1"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
mc:Ignorable="d">
<Grid
x:Name="GlassHost"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch">
</Grid>
</Page>
点击F7
进入对应的代码文件
设置元素背景毛玻璃效果的方法
private void initializeFrostedGlass(UIElement glassHost)
{
Visual hostVisual = ElementCompositionPreview.GetElementVisual(glassHost);
Compositor compositor = hostVisual.Compositor;
var backdropBrush = compositor.CreateHostBackdropBrush();
var glassVisual = compositor.CreateSpriteVisual();
glassVisual.Brush = backdropBrush;
ElementCompositionPreview.SetElementChildVisual(glassHost, glassVisual);
var bindSizeAnimation = compositor.CreateExpressionAnimation("hostVisual.Size");
bindSizeAnimation.SetReferenceParameter("hostVisual", hostVisual);
glassVisual.StartAnimation("Size", bindSizeAnimation);
}
调用
public MainPage()
{
this.InitializeComponent();
var view = ApplicationView.GetForCurrentView();
view.TitleBar.BackgroundColor = Colors.Transparent;
//将标题栏的三个键背景设为透明
view.TitleBar.ButtonBackgroundColor = Colors.Transparent;
//失去焦点时,将三个键背景设为透明
view.TitleBar.ButtonInactiveBackgroundColor = Colors.Transparent;
view.TitleBar.ButtonInactiveForegroundColor = Colors.Black;
//窗口的可视部分扩展到标题栏上
CoreApplicationView coreappview = CoreApplication.GetCurrentView();
coreappview.TitleBar.ExtendViewIntoTitleBar = true;
//主题区域背景毛玻璃效果
initializeFrostedGlass(GlassHost);
}
- springboot入门(4)_web开发
- springboot入门教程(2)_Thymeleaf集成
- VList data structures in C#
- 编程思想 之「语言导论」
- 编程思想 之「对象漫谈」
- Github 项目推荐 | TensorFlow 概率推理工具集 —— probability
- Github 项目推荐 | 用于 C/C++、Java、Matlab/Octave 的特征选择工具箱
- Mercari Price 比赛分享 —— 语言不仅是算法和公式而已
- Github 项目推荐 | GAN 的 Keras 实现案例集合 —— Keras-GAN
- Github 项目推荐 | 微软开源 MMdnn,模型可在多框架间转换
- 半自动化运维之动态添加数据文件(一) (r5笔记第55天)
- 半自动化运维之动态添加数据文件(二) (r5笔记第56天)
- 11g Active DataGuard初探(r5笔记第54天)
- Github 项目推荐 | 用于构建端对端对话系统和训练聊天机器人的开源库 —— DeepPavlov
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法