我是UWP的新手。我想将进度条值绑定到BackgroundDownloadMAnager。
我有一个显示Active下载的ListView。
<ListView Foreground="Black" x:Name="DownloadsList">
<ListView.ItemTemplate>
<DataTemplate>
<ListViewItem MinWidth="{Binding MinWidth}">
<StackPanel Tag="{Binding DownloadGUID}" Orientation="Horizontal">
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Left">
<Image Source="{Binding IMGUri}" Width="50" Height="50"/>
</StackPanel>
<StackPanel MinWidth="{Binding MinWidth}" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="15,0,0,0">
<StackPanel >
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding APPNAME}"/>
<TextBlock Text="{Binding Percentage}"/>
</StackPanel>
<StackPanel>
<ProgressBar Minimum="0" Maximum="100" IsIndeterminate="True"/>
</StackPanel>
</StackPanel>
</StackPanel>
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="20,0,20,0">
<Button Content="" Tag="{Binding DownloadGUID}" FontFamily="Segoe MDL2 Assets" Margin="15,0,15,0" HorizontalAlignment="Right" Click="PauseBTN_Click" />
<Button Content="" Tag="{Binding DownloadGUID}" FontFamily="Segoe MDL2 Assets" Margin="0,0,15,0" HorizontalAlignment="Right" Click="StopBTN_Click"/>
</StackPanel>
</StackPanel>
</ListViewItem>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
C#
public class AppDownload
{
public Guid DownloadGUID { get; set; }
public bool IsResumable { get; set; }
public BackgroundDownloadProgress Status { get; set; }
public int DownloadPercent { get; set; }
public string IMGUri { get; set; }
public string APPNAME { get; set; }
public double MinWidth { get; set; }
}
我如何获得有效下载列表
async void ListDownloads()
{
var downloads = await BackgroundDownloader.GetCurrentDownloadsAsync();
if (downloads.Count >= 1)
foreach (var item in downloads)
{
try
{
var status = item.Progress.Status;
var ri = item.GetResponseInformation();
var uri = ri.ActualUri.Query;
var s1 = uri.Split('=');
var s2 = s1[1].Split('&');
var appid = s2[0];
var appinf = await new JsonData().GetApplicationDetails(Convert.ToInt32(appid));
DownloadsList.Items.Add(new AppDownload() { MinWidth = Window.Current.Bounds.Width - 120 , DownloadGUID = item.Guid, IMGUri = new JsonData().ConvertJSONUriToString(appinf.IconSquare), APPNAME = appinf.NameEnglish + "\t\t\t", DownloadPercent = 100 * Convert.ToInt32(item.Progress.BytesReceived / item.Progress.TotalBytesToReceive) });
}
catch { }
}
}
我想知道如何动态更改此进度条值以及更改其他内容(例如TextBlocks文本之一) 谢谢。