WPF Canvas实现进度条
2024-09-03 19:17:56
先看效果图:
思路:
一个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 / ));
}
}
目前没有想到如何在不手动设置图片宽度的情况下设置图片的位置,暂时在前台页面中设置图片宽度和位置
最新文章
- 【转】js 中导出excel 较长数字串会变为科学计数法
- PHP学习之常量
- javascript优化--14模式2(DOM和浏览器模式)
- c++构造函数的作用---13
- PostgreSQL Replication之第九章 与pgpool一起工作(6)
- uva129 - Krypton Factor 7.4.3 困难的串
- 华为章宇:如何学习开源项目及Ceph的浅析
- [BZOJ 1046] [HAOI2007] 上升序列 【DP】
- dos cmd重启2003命令shutdown -r -t 0
- fis3+vue+pdf.js制作预览PDF文件或其他
- RSS简介
- PHP获取指定地区的天气
- TensorFlow之CNN:运用Batch Norm、Dropout和早停优化卷积神经网络
- input type=file的几个属性
- 微信小程序 open-data更改样式 open-data 显示头像 圆形
- epoll ET(边缘触发) LT(水平触发)
- unable to load http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl
- Xamarin是无懈可击还是鸡肋?浅谈对Xamarin的学习
- SVN怎么触发Jenkins自动构建
- MySQL导入数据错误error: 13 及解决办法