WP修改ProgressBar的前景色

修改ProgressBar的前景色

做一个小项目时,用到 ProgressBar添加一个加载效果,但是背景不是白色的,调试时发现自己选的主题色与背景色相近,特别不清晰,加载效果几乎看不见,于是就要修改ProgressBar的前景色,在修改的过程中,发现直接修改 Foreground和定义Background没有效果,没什么用,ProgressBar的前景色是你选择的主题颜色,既然知道了主题色就是ProgressBar的颜色,接下来就是重载主题色,简单来说就是在项目中重新定义一个颜色,覆盖掉主题色,其实就是定义一个与系统资源字典中相同的样式,覆盖掉系统定义即可。

  1. 在某个页面中重载
  2. 在整个项目中重载
    1. 在App.xaml中重载
    2. 在自定义的资源字典中重载,需要将自定义的资源字典添加到

这里只讲解最后一个,在自定义的资源字典中重载,其实都差不多,不过个人觉得,这种方式更常用。

首先创建一个资源字典文件,然后再其中添加对系统主题色的重载(这里只是重载的ProgressBar的Foreground属性,即ProgressBar的颜色)

<!-- Global Overrides -->

<ResourceDictionary.ThemeDictionaries>

<ResourceDictionary x:Key="Default">

<x:String x:Key="ProgressBarIndeterminateForegroundThemeBrush">Pink</x:String>

</ResourceDictionary>

</ResourceDictionary.ThemeDictionaries>

注:这里的颜色不能随意设置,需要设置为主题色中有的颜色之一,最初设置的White 白色,结果没有任何效果

如果在App.xaml文件中或在页面中定义的话,添加以上代码就够了,如果在自定义资源字典文件中定义的话,需要在App.xaml文件中包含自定义的资源字典文件,在App.xaml文件添加以下代码即可 (source需要设置为自定义资源字典文件的路径)

<ResourceDictionary>

<ResourceDictionary.MergedDictionaries>

<ResourceDictionary Source="/Styles/CustomStyles.xaml"></ResourceDictionary>

</ResourceDictionary.MergedDictionaries>

</ResourceDictionary>

时间: 2024-11-05 22:33:09

WP修改ProgressBar的前景色的相关文章

.NET winform 在listview中添加progressbar

找了好长时间没找到,后来索性自己写了一个: 首先,在往listview加载数据的事件里添加progressbar: foreach (string d in arr) { int index = lv.Items.Count + 1; item = new ListViewItem(new string[] { index.ToString(), d, "", "", "", "" }); lv.Items.Add(item)

Android ProgressBar SeekBar

1.ProgressBar 进度条 当水平进度条完成后,隐藏该进度条,并显示一张图片 常用属性: 1. android:max 设置进度条的最大值 2. android:progress 用于指定进度条的已完成的进度值 3. android:progressDrawable 用于设置进度条的轨道绘制形式style属性: 1. ?android:attr/progressBarStyleHorizontal 细水平长条进度条 2. ?android:attr/progressBarStyleLar

Android学习笔记:进度条ProgressBar和线程

ProgressBar是进度条,android中的指示器,先看效果图 上图中水平进度条可以看见有两种颜色,浅色的是SecondaryProgress,可以用作展示中间进度用. ProgressBar是有多种样式的,有水平的和圆圈打转的.若需要指示进度的可以使用水平的,其他样式在可以在android api文档找到 Other progress bar styles provided by the system include: Widget.ProgressBar.Horizontal Widg

【android自定义控件】ProgressBar自定义

ProgressBar分为垂直和水平 经常在数据加载过程中,为了让用户感觉友好,弹出一个提示圆形的加载框 水平的经常在下载应用的时候用到,还伴随着下载进度. ProgressBar的样式有四种: android:progressBarStyle:默认进度条样式,不确定模式 android:progressBarStyleHorizontal:水平进度条样式 android:progressBarStyleLarge :大号进度条样式,也是不确定进度模式 android:progressBarSt

WP评论系统更换小结(转)

第三方评论插件 多说 多说是一款追求极致体验的社会化评论框,可以用微博.QQ.人人.豆瓣等帐号登录并评论. 多说具备优质用户体验.速度和稳定性.社会化推荐.建站程序审核整合.垃圾评论过滤等特性. 自定义程度很高,支持插入表情.图片,细节上把握很好. 支持双向同步评论,导入导出. 友言 JiaThis旗下产品 支持社交帐号登录,和多说挺像的,体验会差一些. 支持数据导入导出,有评论统计.最新评论插件. 2017年6月调用基本502,最近一次更新三年前,感觉半死不活. 畅言 搜狐旗下产品 多说下架后

Android ProgressBar 反向进度条/进度条从右到左走

最近的项目,有个需求需要使用条状图显示比例,并且右对齐,见下图: 我想到了使用进度条,这样不就不需要在代码动态绘制条状了,省了很多活. 那么进度条怎样从右向左显示呢? 方案一: 将ProgressBar的前背景反着用,将前景色设置为和整个大背景同一色,将背景设置为你要的条状图颜色,这样就看不出实际的进度,看到的是进度背景,在视觉上看上去就是右对齐了.实际上还是原来那个进度条. 缺点:我这个进度条是放在ListView的item中的,点击listview,因为listview有选中的背景显示出来,

android 自定义水平和圆形progressbar 只定义一些style就可以

效果图: 修改progressbar 让他满足自己的需求一般来说只修改一下,progressbar的style就可以满足需求了: activity代码:仅仅显示一个布局而已 package com.example.testcustomprogressbar; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public cl

Win10 UWP 开发系列:使用SplitView实现汉堡菜单及页面内导航

在Win10之前,WP平台的App主要有枢轴和全景两种导航模式,我个人更喜欢Pivot即枢轴模式,可以左右切换,非常方便.全景视图因为对设计要求比较高,自己总是做不出好的效果.对于一般的新闻阅读类App来说,Pivot更适合多个频道的展示,因为内容基本都是一样的. 到了Win10,微软模仿其他平台也推出了汉堡菜单,但并没有提供现成的控件,而是需要开发者通过一个名为SplitView的控件来实现.我个人并不觉得左上角的菜单有多么方便,汉堡菜单的使用必然会改变以前的导航模式,比如以前底部的AppBa

WPF 实现圆形进度条

项目中用到圆形进度条,首先就想到使用 ProgressBar 扩展一个,在园子里找到 迷途的小榔头 给出的思路和部分代码,自己加以实现.在此感谢 迷途的小榔头! 进度小于60显示红色,大于60则显示绿色.效果如下: 基本思路: 本质上是一个进度条,只是外观有别于矩形进度条,所以需要修改ProgressBar的ControlTemplate. 进度条部分实际是一个扇形,用WPF动态绘出(原理参考迷途的小榔头讲解). 要将进度条的值(Value依赖属性)转换为进度条,需要一个Converter. 根