如何绑定到 WPF 进度栏的可见性元素?



如何绑定到WPF的ProgressBar-Visibility元素?我无法将它绑定到字符串属性,因为它采用了一个具有三个选项的枚举:Collapsed、Visible和Hidden。请为ProgressBar的绑定可见性显示可理解的代码。提前谢谢。

<Grid Width="150" Margin="30,0" Visibility="{Binding ProgressBarVisibility}">
    <ProgressBar Width="150" Height="Auto" HorizontalAlignment="Stretch" Foreground="#FF01D328"
                 Minimum="-3" Maximum="100" Value="{Binding DownloadPercentage, Mode=OneWay}" />
    <TextBlock Text="Downloading" HorizontalAlignment="Center" />
</Grid> 

在视图模型中:

public Visibility ProgressBarVisibility
{
    get
    {
        return (DownloadingPdf && DownloadPercentage < 100) ? Visibility.Visible : Visibility.Collapsed;
    }
}
private int mDownloadPercentage;
public int DownloadPercentage
{
    get { return mDownloadPercentage; }
    set
    {
        if (mDownloadPercentage==value)
        {
            return;
        }
        else
        {
            mDownloadPercentage = Math.Min(Math.Abs(value), 100);
            OnPropertyChanged("DownloadPercentage");
            OnPropertyChanged("DownloadProgressBarVisibility");
        }
    }
}

最新更新