<ProgressBar Foreground="Red"
Background="Transparent"
Value="{Binding NumFailed, Mode=OneWay}"
Minimum="0"
Maximum="{Binding NumTubes, Mode=OneWay, Converter={x:Static wpftools:DebuggingConverter.Instance}, ConverterParameter=Failedprogressbar}"
FlowDirection="RightToLeft"
Style="{DynamicResource {x:Static wpftools:CustomResources.StyleProgressBarVistaKey}}" />
这就是我的进度条目前的样子。样式来自http://mattserbinski.com/blog/look-and-feel-progressbar,DebuggingConverter是一个无操作转换器,可将值、类型和参数打印到控制台。我已经验证,当我的 NumTubes 属性发生变化时,Maximum 的转换器被调用了。
基本上,ProgressBar 在值更改之前不会重绘。所以,如果我有 2 个管子并且 1 个失败了,即使我再添加 20 个管子,该条仍然是一半填充,直到 NumFailed 更改,然后更新比例。我尝试添加 NumFailed 属性的虚假通知,但这显然不起作用,因为值没有改变。
想法?