在Windows RT应用程序中每n秒刷新一张网页图片
本文关键字:一张 网页 刷新 应用程序 RT Windows | 更新日期: 2023-09-27 17:50:56
我在VisualStudio中选择了一个样本,并开始修改它,用来自网络摄像头的图片创建一个交通应用程序(假设每10秒更新一次)。我有一个SampleData。
{"Groups":[
{
"UniqueId": "Group-1",
"Title": "Primorska in Notranjska",
"Subtitle": "Group subtitle: 1",
"ImagePath": "Assets/Pics/primorska.jpg",
"Description" : "Group Description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus tempor scelerisque lorem in vehicula. Aliquam tincidunt, lacus ut sagittis tristique, turpis massa volutpat augue, eu rutrum ligula ante a ante",
"Items":
[
{
"UniqueId": "Group-1-Item-1",
"Title": "A1/E61/E70 Ljubljana - Koper, priključek Brezovica",
"Subtitle": "Item Subtitle: 1",
"ImagePath": "Assets/LightGray.png",
"Description" : "",
"Content" : "A1/E61/E70 Ljubljana - Koper, priključek Brezovica, pogled proti Postojni",
"PicSource" : "http://kamere.dars.si/kamere/ljubljana/K01_Brezovica_Po.jpg"
},
然后我将图片绑定到每一个项目:
<Image Source="{Binding PicSource}" Grid.Row="2" Margin="0,88,440,10"
Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}" Grid.ColumnSpan="2"/>
如何每n秒刷新一次?
编辑:我在SampleDataSource中设置ViewModel: public SampleDataItem(String uniqueId, String title, String subtitle, String imagePath, String description, String content, String picSource)
{
this.UniqueId = uniqueId;
this.Title = title;
this.Subtitle = subtitle;
this.Description = description;
this.ImagePath = imagePath;
this.Content = content;
this.PicSource = picSource;
}
. .公共字符串PicSource {get;私人设置;}后来. .GetSampleDataAsync(){如果(this._groups。Count != 0)返回;
Uri dataUri = new Uri("ms-appx:///DataModel/SampleData.json");
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(dataUri);
string jsonText = await FileIO.ReadTextAsync(file);
JsonObject jsonObject = JsonObject.Parse(jsonText);
JsonArray jsonArray = jsonObject["Groups"].GetArray();
foreach (JsonValue groupValue in jsonArray)
{
JsonObject groupObject = groupValue.GetObject();
SampleDataGroup group = new SampleDataGroup(groupObject["UniqueId"].GetString(),
groupObject["Title"].GetString(),
groupObject["Subtitle"].GetString(),
groupObject["ImagePath"].GetString(),
groupObject["Description"].GetString());
foreach (JsonValue itemValue in groupObject["Items"].GetArray())
{
JsonObject itemObject = itemValue.GetObject();
group.Items.Add(new SampleDataItem(itemObject["UniqueId"].GetString(),
itemObject["Title"].GetString(),
itemObject["Subtitle"].GetString(),
itemObject["ImagePath"].GetString(),
itemObject["Description"].GetString(),
itemObject["Content"].GetString(),
itemObject["PicSource"].GetString()));
}
this.Groups.Add(group);
}
}
您可以从代码中设置源代码:
public MainPage()
{
this.InitializeComponent();
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromSeconds(n);
timer.Tick += (sender, e) =>
{
// ...
// image.Source = ...
};
timer.Start();
}