原文:WPF Canvas实现进度条

先看效果图:

思路:

一个Canvas做背景,一个Canvas用来显示进度,图片放在显示进度的Canvas中,靠右设置为图片本身宽度一半的距离,视觉上实现以图片中轴线为原点

前台代码:

<Window x:Class="ProgressMask.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow">
<Grid>
<Canvas Name="myProgressCanvas" Background="LightGray" Height="50" Width="300">
<Canvas Name="myProgressValue" Canvas.Left="0" Width="10" Background="Red" Height="{Binding ElementName=myProgressCanvas,Path=Height}">
<Image Name="myProgressImg" Width="10" Canvas.Right="-5" Source=".\倒三角.png" Height="{Binding ElementName=myProgressCanvas,Path=Height,Mode=OneWay}"></Image>
</Canvas>
</Canvas>
</Grid>
</Window>

后台关键代码:

        public Double ProgressImgWidth
{
get { return myProgressImg.Width; }
set
{
myProgressImg.Width = value;
Canvas.SetRight(myProgressImg, -(myProgressImg.Width / ));
}
}

目前没有想到如何在不手动设置图片宽度的情况下设置图片的位置,暂时在前台页面中设置图片宽度和位置

最新文章

  1. 【转】js 中导出excel 较长数字串会变为科学计数法
  2. PHP学习之常量
  3. javascript优化--14模式2(DOM和浏览器模式)
  4. c++构造函数的作用---13
  5. PostgreSQL Replication之第九章 与pgpool一起工作(6)
  6. uva129 - Krypton Factor 7.4.3 困难的串
  7. 华为章宇:如何学习开源项目及Ceph的浅析
  8. [BZOJ 1046] [HAOI2007] 上升序列 【DP】
  9. dos cmd重启2003命令shutdown -r -t 0
  10. fis3+vue+pdf.js制作预览PDF文件或其他
  11. RSS简介
  12. PHP获取指定地区的天气
  13. TensorFlow之CNN:运用Batch Norm、Dropout和早停优化卷积神经网络
  14. input type=file的几个属性
  15. 微信小程序 open-data更改样式 open-data 显示头像 圆形
  16. epoll ET(边缘触发) LT(水平触发)
  17. unable to load http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
  18. Xamarin是无懈可击还是鸡肋?浅谈对Xamarin的学习
  19. SVN怎么触发Jenkins自动构建
  20. MySQL导入数据错误error: 13 及解决办法

热门文章

  1. 区块链、云计算、大数据、人工智能、FinTech带来的挑战与机遇,中国技术开放日上海站精彩回顾
  2. Spring MVC 搭建web项目示例
  3. C# WPF 仿QQ靠近屏幕上方自动缩起功能实现
  4. 我悲惨的人生,该死的UPX壳,谁能救救我
  5. 洛谷P1470 最长前缀
  6. 洛谷P1006 NOIP提高组2008 传纸条
  7. Data Lake Analytics账号和权限体系详细介绍
  8. Vue--findIndex方法的使用原理
  9. MYSQL监控工具--mytop
  10. C# 如何比较版本号大小