Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Windows Phone 8.1中的Progressbar_C#_.net_Windows Phone 8.1 - Fatal编程技术网

C# Windows Phone 8.1中的Progressbar

C# Windows Phone 8.1中的Progressbar,c#,.net,windows-phone-8.1,C#,.net,Windows Phone 8.1,我正在尝试使progressbar在Windows phone 8.1中工作 这是我的密码: using (var writeStream = await newZipFile.OpenAsync(FileAccessMode.ReadWrite)) { using (var outputStream = writeStream.GetOutputStreamAt(0))

我正在尝试使progressbar在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();
                                }
                            }
                        }
                    }
这里的问题是progressbar仅在值为100时更新。 感谢您的帮助。

1)确保progressbar的最大值为100。

2)
pb2.Value=sizeFit*100/总尺寸可能是您计算的百分比错误。既然我无法在您的代码中找到sizeFit值,为什么不放置一个断点并检查返回的值

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