<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が最大バインディングで更新されない
基本的に、ProgressBarは値が変更されるまで再描画されません。したがって、2本のチューブがあり、1本が故障した場合、さらに20本のチューブを追加しても、NumFailedが変更されるまでバーは半分まで満たされています。私はNumFailedプロパティの偽の通知を追加しようとしましたが、値が変更されていないので、明らかに機能しません。
アイデア?
私はこれをトリガするために簡単なサブクラスを使用できますか? – Thomas
実際、サブクラス化する必要はなく、MaximumPropertyのDependencyPropertyDescriptorを取得してAddValueChangedを呼び出すことができます。これを私のポストに追加します。 –
ありがとう、私はIsIndeterminate true/falseをデリゲート内でトグルしました。素晴らしい仕事。 – Thomas