如何在Value为0时创建隐藏的ProgressBar?

tof*_*tim 2 c# data-binding wpf xaml

以下内容不太起作用(ProgressValue是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>
Run Code Online (Sandbox Code Playgroud)

Jay*_*ggs 6

尝试VisibilityValueChanged事件中设置ProgressBar的属性:

private void progressBar1_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e) {
    progressBar1.Visibility = (progressBar1.Value == 0) ? Visibility.Hidden : Visibility.Visible;
}
Run Code Online (Sandbox Code Playgroud)