Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 自定义WPF进度条,包括上限指示器_C#_.net_Wpf_Xaml_Progress Bar - Fatal编程技术网

C# 自定义WPF进度条,包括上限指示器

C# 自定义WPF进度条,包括上限指示器,c#,.net,wpf,xaml,progress-bar,C#,.net,Wpf,Xaml,Progress Bar,我想制作一个带有上限属性的自定义进度条,它必须不同于控件的最大值。为该属性设置值时,进度条上指定位置会出现一条简单的红线 像这样的东西可以做到: 您可以从ProgressBar类继承一个新类,将新的DependencyProperty添加到新的最大值 为其设置新样式和模板以显示新行: 我明白了。。。问题是,我真的不知道如何在进度条上的指定值处绘制直线或矩形或任何东西。当您编辑新继承控件的模板时,可以插入此矩形/边框/等,并设置其边距或任何您可以想出的巧妙定位方法。我们绑定到前面提到的新属性,控件

我想制作一个带有上限属性的自定义进度条,它必须不同于控件的最大值。为该属性设置值时,进度条上指定位置会出现一条简单的红线

像这样的东西可以做到:


您可以从ProgressBar类继承一个新类,将新的DependencyProperty添加到新的最大值

为其设置新样式和模板以显示新行:


我明白了。。。问题是,我真的不知道如何在进度条上的指定值处绘制直线或矩形或任何东西。当您编辑新继承控件的模板时,可以插入此矩形/边框/等,并设置其边距或任何您可以想出的巧妙定位方法。我们绑定到前面提到的新属性,控件的ActualHeight/ActualWidth,以及用于返回所需值的转换器。或者您可以想出的任何聪明的定位方法,这就是我要寻找的。聪明的方法-这就是我添加教程的原因。您可以编辑控件的模板。放置一个带边距的红色矩形,该矩形绑定到新属性以及控件和多重绑定转换器的实际宽度。转换器中的逻辑应返回一个相对于控件宽度的厚度,该宽度应将矩形放置在需要的位置。