我需要一个背景透明的 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 只需要更改 PropertyBackgroundValue 值为 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 样式相关推荐

  1. 张高兴的 UWP 开发笔记:横向 ListView

    ListView 默认的排列方向是纵向 ( Orientation="Vertical" ) ,但如果我们需要横向显示的 ListView 怎么办? Blend for Visua ...

  2. 张高兴的 UWP 开发笔记:汉堡菜单进阶

    不同于Windows 8应用,Windows 10引入了"汉堡菜单"这一导航模式.说具体点,就拿官方的天气应用来说,左上角三条横杠的图标外加一个SplitView控件组成的这一导航 ...

  3. 张高兴的 UWP 开发笔记:手机状态栏 StatusBar

    UWP 有关应用标题栏 TitleBar 的文章比较多,但介绍 StatusBar 的却没几篇,在这里随便写写.状态栏 StatusBar 用法比较简单,花点心思稍微设计一下,对应用会是个很好的点缀. ...

  4. 张高兴的 Xamarin.Forms 开发笔记:为 Android 与 iOS 引入 UWP 风格的汉堡菜单 ( MasterDetailPage )...

    所谓 UWP 样式的汉堡菜单,我曾在"张高兴的 UWP 开发笔记:汉堡菜单进阶"里说过,也就是使用 Segoe MDL2 Assets 字体作为左侧 Icon,并且左侧使用填充颜色 ...

  5. 张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器

    张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 原文:张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 BH1750FVI 是一款 ...

  6. 张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231

    原文:张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231 GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/ ...

  7. Android开发笔记(一百三十九)可定制可滑动的标签栏

    App在页面底部展现标签栏导航的效果,有多种实现方式,包括TabActivity方式.ActivityGroup方式.FragmentActivity方式等等,具体的实现方案参见之前的博文< A ...

  8. 【课程设计】UWP 开发入门小笔记(1)

    UWP 开发入门小笔记(1) 零.介绍 一.系列介绍[p1] 二.创建第一个属于自己的UWP应用[p2] (一)一个button的属性: (二)修改属性的三种方法 (三)字号(以后会细讲) 三.UWP ...

  9. Android开发笔记(一百二十八)手机制式适配

    查看运营商与网络类型 虽然现在4G网络很普及了,但是我国幅员辽阔,4G信号在某些地方接收不良,手机连接很容易掉到3G甚至2G网络.为了让用户在低速环境也能使用App的基础功能,而不至于还在老牛破车地缓 ...

最新文章

  1. Ubuntu16.04 pip3 install 报错 working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  2. ansible笔记(11):初识ansible playbook(二)
  3. 模型可解释性技术概览
  4. linux内核亲和性,Linux中CPU亲和性(go)
  5. springmvc使用spring自带日期类型验证
  6. ELV局部视图与差分隐私【敏感度到底怎么理解】【下】
  7. 电脑复制粘贴_ALTC 让电脑和手机能“跨屏”互相复制粘贴的免费工具!
  8. SpringBoot集成MyBatis详解
  9. 离散效率写给自己的话 二
  10. Atitit.js获取上传文件全路径
  11. 冒泡排序_Python实现
  12. 计算机网络第七版第三章课后习题,《计算机网络·自顶向下方法》第七版 第三章 课后习题与问题 答案...
  13. 用户、巨头、计算平台,最终都是“社交”的傀儡?
  14. 干货!从AI应用的五大要素看,AI产业存在哪些机会?(算力算法)
  15. 经典SQL语句大全(绝对的经典)----特别好
  16. 常用算法设计技术总结
  17. 你手机里有哪些堪称神器的 App?
  18. 强大实用的报表工具,一键生成报表
  19. 分享几个微信实用小技巧(二)
  20. 基于Android Q 修改默认音量等级

热门文章

  1. 【Methods】Accessing Ensembl annotation with biomaRt
  2. 每周分享第 40 期
  3. 一个外企女白领的日记
  4. 高数_第3章重积分_在极坐标下计算二重积分之2
  5. 举出至少两种不需要发送ARP请求分组的情况(即不需要请求将某个目的IP地址解析为相应的硬件地址)
  6. 行为驱动:python+behave,学习记录
  7. 笔记本电脑散热问题的探究
  8. 前端面试基础合集——JQ
  9. sql unique约束详解
  10. osgearth开发三维地球