[英]Increase size of Dots in Progress bar windows phone 8
我想要显示进度条Ellipse,而不是显示其默认大小,例如: 增加不确定进度点大小的高度 。
我已经浏览了很多内容以及博客的许多问题和帖子,但是找不到任何解决方案
已经看到了这一点,但在我的情况下不起作用:
如果您不介意一些替代:)
我已经对大多数常用控件进行了重大修改,以尽可能地使用XAML来获得外观。 这是我以前用来满足您要做什么的进度条的剪切和粘贴。
XAML命名空间
<phone:PhoneApplicationPage
xmlns:MyControl="clr-namespace:MyOverrideConrols"
>
C#进度栏替代
namespace MyOverrideConrols
{
public class MyProgressBar : ProgressBar
{
public MyProgressBar()
: base()
{
this.NewDotSize = 20;
}
public MyProgressBar(int dot_size = 20)
: base()
{
this.NewDotSize = (dot_size <= 0) ? 1 : dot_size;
}
public int NewDotSize{ get; set; }
public override void OnApplyTemplate()
{
base.OnApplyTemplate();
Rectangle slider_0 = (Rectangle)this.GetTemplateChild("Slider0"); ResizeRectangle(ref slider_0, NewDotSize);
Rectangle slider_1 = (Rectangle)this.GetTemplateChild("Slider1"); ResizeRectangle(ref slider_1, NewDotSize);
Rectangle slider_2 = (Rectangle)this.GetTemplateChild("Slider2"); ResizeRectangle(ref slider_2, NewDotSize);
Rectangle slider_3 = (Rectangle)this.GetTemplateChild("Slider3"); ResizeRectangle(ref slider_3, NewDotSize);
Rectangle slider_4 = (Rectangle)this.GetTemplateChild("Slider4"); ResizeRectangle(ref slider_4, NewDotSize);
Rectangle slider_5 = (Rectangle)this.GetTemplateChild("Slider5"); ResizeRectangle(ref slider_5, NewDotSize);
}
private void ResizeRectangle(ref Rectangle rect, int new_size)
{
if (rect == null)
return;
rect.Width = new_size;
rect.Height = new_size;
}
}
}
如何使用
<MyControl:MyProgressBar IsIndeterminate="True" Height="25" NewDotSize="20"></MyControl:MyProgressBar>
进度条在行动
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.