张高兴的 UWP 开发笔记:定制 ContentDialog 样式
我需要一个背景透明的 ContentDialog,像下图一样。如何定制?写了一个简单的示例(https://github.com/ZhangGaoxing/uwp-demo/tree/master/ContentDialogDemo)
首先在项目里新建一个资源字典,并在 App.xaml 添加以下代码将此资源字典合并
<Application.Resources><ResourceDictionary><ResourceDictionary.MergedDictionaries><ResourceDictionary Source="Style.xaml"/></ResourceDictionary.MergedDictionaries></ResourceDictionary> </Application.Resources>
这时新添加的资源字典还是空的,我们需要找到 ContentDialog 的默认样式。这些默认样式在已安装的 Windows 10 SDK 中被提供,比如 SDK 默认安装在 C 盘的时候,控件样式字典 generic.xaml 可以在 C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\10.0.14393.0\Generic 这里找到。找到后用 Visual Studio 打开,如下图。
接下来按 Ctrl+F 搜索 ContentDialog 找到默认样式复制到刚才新建的资源字典中,然后根据需要定制样式即可。
像我需要的透明 ContentDialog 只需要更改 Property 为 Background 的 Value 值为 Transparent 即可。注意不要忘记给一个 x:Key 值,也就是起个名称,这里为 x:Key="TransparentDialog" 。
样式定制完成,并且资源字典也合并完成,下面就是要在代码中去调用了。资源字典的调用也是靠键值对,输入对应的键来返回对应的值。
在项目合适的位置新建一个 Style 类型的字段,用来获取样式。
Style transparent = (Style)Application.Current.Resources["TransparentDialog"];
样式获取完成后设置 ContentDialog 的 Style 属性即可
var contentDialog = new ContentDialog() {Content = new Content("This is a transparent ContentDialog."),PrimaryButtonText = "确定",FullSizeDesired = false };contentDialog.Style = transparent;contentDialog.PrimaryButtonClick += (_s, _e) => {contentDialog.Hide(); }; await contentDialog.ShowAsync();
这样,一个定制样式的 ContentDialog 就完成了。
转载于:https://www.cnblogs.com/zhanggaoxing/p/6617806.html
张高兴的 UWP 开发笔记:定制 ContentDialog 样式相关推荐
- 张高兴的 UWP 开发笔记:横向 ListView
ListView 默认的排列方向是纵向 ( Orientation="Vertical" ) ,但如果我们需要横向显示的 ListView 怎么办? Blend for Visua ...
- 张高兴的 UWP 开发笔记:汉堡菜单进阶
不同于Windows 8应用,Windows 10引入了"汉堡菜单"这一导航模式.说具体点,就拿官方的天气应用来说,左上角三条横杠的图标外加一个SplitView控件组成的这一导航 ...
- 张高兴的 UWP 开发笔记:手机状态栏 StatusBar
UWP 有关应用标题栏 TitleBar 的文章比较多,但介绍 StatusBar 的却没几篇,在这里随便写写.状态栏 StatusBar 用法比较简单,花点心思稍微设计一下,对应用会是个很好的点缀. ...
- 张高兴的 Xamarin.Forms 开发笔记:为 Android 与 iOS 引入 UWP 风格的汉堡菜单 ( MasterDetailPage )...
所谓 UWP 样式的汉堡菜单,我曾在"张高兴的 UWP 开发笔记:汉堡菜单进阶"里说过,也就是使用 Segoe MDL2 Assets 字体作为左侧 Icon,并且左侧使用填充颜色 ...
- 张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器
张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 原文:张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 BH1750FVI 是一款 ...
- 张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231
原文:张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231 GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/ ...
- Android开发笔记(一百三十九)可定制可滑动的标签栏
App在页面底部展现标签栏导航的效果,有多种实现方式,包括TabActivity方式.ActivityGroup方式.FragmentActivity方式等等,具体的实现方案参见之前的博文< A ...
- 【课程设计】UWP 开发入门小笔记(1)
UWP 开发入门小笔记(1) 零.介绍 一.系列介绍[p1] 二.创建第一个属于自己的UWP应用[p2] (一)一个button的属性: (二)修改属性的三种方法 (三)字号(以后会细讲) 三.UWP ...
- Android开发笔记(一百二十八)手机制式适配
查看运营商与网络类型 虽然现在4G网络很普及了,但是我国幅员辽阔,4G信号在某些地方接收不良,手机连接很容易掉到3G甚至2G网络.为了让用户在低速环境也能使用App的基础功能,而不至于还在老牛破车地缓 ...
最新文章
- Ubuntu16.04 pip3 install 报错 working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
- ansible笔记(11):初识ansible playbook(二)
- 模型可解释性技术概览
- linux内核亲和性,Linux中CPU亲和性(go)
- springmvc使用spring自带日期类型验证
- ELV局部视图与差分隐私【敏感度到底怎么理解】【下】
- 电脑复制粘贴_ALTC 让电脑和手机能“跨屏”互相复制粘贴的免费工具!
- SpringBoot集成MyBatis详解
- 离散效率写给自己的话 二
- Atitit.js获取上传文件全路径
- 冒泡排序_Python实现
- 计算机网络第七版第三章课后习题,《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案...
- 用户、巨头、计算平台,最终都是“社交”的傀儡?
- 干货!从AI应用的五大要素看,AI产业存在哪些机会?(算力算法)
- 经典SQL语句大全(绝对的经典)----特别好
- 常用算法设计技术总结
- 你手机里有哪些堪称神器的 App?
- 强大实用的报表工具,一键生成报表
- 分享几个微信实用小技巧(二)
- 基于Android Q 修改默认音量等级