0

我的 MainPage.xaml 中有一个 ProgressBar:

<ProgressBar HorizontalAlignment="Center"
                 Height="90" Margin="0,-30,0,0" 
                 VerticalAlignment="Center" 
                 Width="600" x:Name="BarProgress" /> 

然后在 MainPage.xaml.cs 中有下载数据的代码:

public async Task Download(string fileName, string fileId)
private async Task HandleDownloadAsync(DownloadOperation download, bool start)
private async Task DiscoverActiveDownloadsAsync()
private void DownloadProgress(DownloadOperation download)
        {            
            double percent = 100;
            if (download.Progress.TotalBytesToReceive > 0)
            {
                percent = download.Progress.BytesReceived * 100 / download.Progress.TotalBytesToReceive;
            }

            BarProgress.Value = percent;                        
        }

而且效果很好!我可以看到 ProgressBar 继续进行,直到下载结束!

但是,如果我想创建一个新类,例如 DownloadData.xaml.cs,然后将所有用于下载数据的代码放入其中,我该如何调用 BarProgress.Value?!?我做了很多尝试,比如 MainPage.BarProgress.Value = percent,但我收到很多错误,因为 BarProgress 无法访问...

4

1 回答 1

0

我可能会将 Progressbar 移到 DownloadData.xaml 用户控件。这样,每次下载数据时,它都有自己的进度条,可以从后面的代码中访问。如果您真的不想这样做,另一种方法可能是搜索控件并尝试以这种方式抓住它。一些有用的提示在这里:查找控件编辑: 为您的项目创建用户控件的子文件夹 右键单击​​您的项目并添加用户控件。这将在页面后面添加一个 xaml 页面和一个 xaml.cs 代码。接下来,您要按照此处的说明添加控件。那应该这样做。

于 2013-09-30T12:35:12.560 回答