Ваш XAML был почти верен!
Определите свой индикатор выполнения, как вы это сделали:
<ProgressBar Minimum="0"
Maximum="100"
Value="{Binding CurrentIndex, UpdateSourceTrigger=PropertyChanged}"
Name="MyAutoHidingProgressBar" />
Не забудьте добавить свойство Name
И не устанавливайте Visibility
Вот.Он всегда будет переопределять то, что установлено в вашем Style
.
. Затем определите Style
как нормальное в вашем <Window.Resources>
<Window.Resources>
<Style TargetType="ProgressBar" x:Key="MyAutoHidingProgressBarStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=MyAutoHidingProgressBar, Path=Value}" Value="0">
<Setter Property="Visibility" Value="Hidden"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
.Значение самого индикатора выполнения, а не привязки.
В качестве последнего шага добавьте стиль на свой индикатор выполнения:
Style="{StaticResource MyAutoHidingProgressBarStyle}"
Теперь ваш ProgressBar
будет автоматически скрываться, если его Value
это 0
.Вы также можете легко добавить триггер, чтобы скрыть его, если он заполнен.