The following doesn’t quite work (ProgressValue is a value set in DataContext.)
<StatusBarItem Grid.Column="1">
<StatusBarItem.Resources>
<Style TargetType="ProgressBar">
<Style.Triggers>
<DataTrigger Binding="{Binding ProgressValue}" Value="0">
<Setter Property="Visibility" Value="Hidden"/>
</DataTrigger>
</Style.Triggers>
</Style>
</StatusBarItem.Resources>
<ProgressBar Value="{Binding ProgressValue}" Grid.Column="1" Width="80" Height="13">
</ProgressBar>
</StatusBarItem>
Try specifying a Minimum (and Maximum) value. After setting those it seems to work for my version of your code.
With this XAML:
and this code in the constructor of MainWindows.xaml.cs (for testing purposes only)
I get the progress bar to go from 10 down to 0 at which point the progress bar disappears.