【问题标题】:Progressbar in Windows Phone 8.1Windows Phone 8.1 中的进度条
【发布时间】:2016-02-04 05:05:48
【问题描述】:

我正在尝试让我的进度条在 Windows phone 8.1 中工作。

这是我的代码:

 using (var writeStream = await newZipFile.OpenAsync(FileAccessMode.ReadWrite))
                    {
                        using (var outputStream = writeStream.GetOutputStreamAt(0))
                        {
                            using (var dataWriter = new DataWriter(outputStream))
                            {
                                using (Stream input = webResponse.GetResponseStream())
                                {
                                    long totalSize = 0;
                                    int read;

                                    uint zeroUint = Convert.ToUInt32(0);
                                    uint readUint;

                                    while ((read = input.Read(buffer, 0, buffer.Length)) >0)
                                    {
                                        // totalSize += read;
                                        totalSize = totalSize + read;
                                        //pb2.Value = totalSize * 100 / sizeFit;
                                        await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                                        {
                                            //Declaration of variables
                                            // load.progresschanged(totalSize * 100 / sizeFit);
                                            pb2.Value = totalSize * 100 / sizeFit;




                                        });

                                        readUint = Convert.ToUInt32(read);
                                        IBuffer ibuffer = buffer.AsBuffer();
                                        dataWriter.WriteBuffer(ibuffer, zeroUint, readUint);
                                    }

                                    await dataWriter.StoreAsync();
                                    await outputStream.FlushAsync();
                                    dataWriter.DetachStream();
                                }
                            }
                        }
                    }

这里的问题是进度条只有在值为 100 时才会更新。 任何帮助表示赞赏。

【问题讨论】:

  • 使用DispatcherTimer检查并设置进度条中的值

标签: c# .net windows-phone-8.1


【解决方案1】:

1)确保进度条的最大值为100。
2)pb2.Value = sizeFit * 100 / totalSize; 可能是您计算的百分比错误。由于我无法在您的代码中找到 sizeFit 值,为什么不放置断点并检查返回的值是什么

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-21
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多