-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathv.xml
92 lines (86 loc) · 12.5 KB
/
v.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Navigation;
namespace AppStudio.Uwp.Samples
{
public sealed partial class AppCachePage : SamplePage
{
public ObservableCollection<DeviceDataItem> Items;
#region MemoryItems
public ObservableCollection<DeviceDataItem> MemoryItems
{
get { return (ObservableCollection<DeviceDataItem>)GetValue(MemoryItemsProperty); }
set { SetValue(MemoryItemsProperty, value); }
}
public static readonly DependencyProperty MemoryItemsProperty = DependencyProperty.Register("MemoryItems", typeof(ObservableCollection<DeviceDataItem>), typeof(AppCachePage), new PropertyMetadata(null));
#endregion
#region Commands
public ICommand AddItemCommand
{
get
{
return new RelayCommand(() =>
{
var randomITem = Items[new Random().Next(0, Items.Count - 1)];
MemoryItems.Add(randomITem);
});
}
}
public ICommand CleanMemoryCommand
{
get
{
return new RelayCommand(() =>
{
MemoryItems.Clear();
});
}
}
public ICommand LoadFromCacheCommand
{
get
{
return new RelayCommand(async () =>
{
var cacheData = await AppCache.GetItemsAsync<DeviceDataItem>("AppCacheSample");
if (cacheData != null && cacheData.Items != null)
{
MemoryItems.Clear();
foreach (var item in cacheData.Items)
{
MemoryItems.Add(item);
}
}
});
}
}
public ICommand CleanCacheCommand
{
get
{
return new RelayCommand(async () =>
{
await AppCache.AddItemsAsync<DeviceDataItem>("AppCacheSample", new CachedContent<DeviceDataItem>() { Items = new ObservableCollection<DeviceDataItem>() });
});
}
}
public ICommand SaveMemoryToCacheCommand
{
get
{
return new RelayCommand(async () =>
{
await AppCache.AddItemsAsync<DeviceDataItem>("AppCacheSample", new CachedContent<DeviceDataItem>() { Items = MemoryItems });
});
}
}
#endregion
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
this.Items = new ObservableCollection<DeviceDataItem>(new DevicesDataSource().GetItems());
this.MemoryItems = new ObservableCollection<DeviceDataItem>();
}
}
}