回答編集履歴

2

修正

2016/09/19 14:42

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -46,7 +46,7 @@
46
46
 
47
47
  {
48
48
 
49
- ItemsSource = taskDataList.Result;
49
+ ItemsSource = taskDataList;
50
50
 
51
51
  var cell = new DataTemplate(typeof(TextCell));
52
52
 

1

追記

2016/09/19 14:42

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,5 +1,61 @@
1
- C#に詳しいわけではないですが調べてみると「やっぱりそうか」と思える手法は見つかりましたstaticなファクトリメソッドからprivateなコンストラクタを叩くようにすると良さそうです
1
+ C#に詳しいわけではないですが調べてみると「やっぱりそうか」と思える手法は見つかりましたstaticなファクトリメソッドからprivateなコンストラクタを叩くようにすると良さそうです
2
2
 
3
3
 
4
4
 
5
5
  [c# - Can constructors be async? - Stack Overflow](http://stackoverflow.com/a/12520574/1846562)
6
+
7
+
8
+
9
+ ### 追記
10
+
11
+
12
+
13
+ JavaScriptのノリで適当に書いてみました,あやふやな知識で書いた上にデバッグも全くしてないので,おかしいところがあれば指摘お願いします.
14
+
15
+
16
+
17
+ ```C#
18
+
19
+ public class TaskListView : ListView
20
+
21
+ {
22
+
23
+ public static async Task<TaskListView> BuildTaskListViewAsync()
24
+
25
+ {
26
+
27
+ var rootFolder = FileSystem.Current.LocalStorage;
28
+
29
+ var files = await rootFolder.GetFilesAsync();
30
+
31
+ var taskDataList = await Task.WhenAll(files.Select(async file => {
32
+
33
+ var title = await file.ReadAllTextAsync();
34
+
35
+ return new TaskData { Title = title };
36
+
37
+ }));
38
+
39
+ return new TaskListView(taskDataList);
40
+
41
+ }
42
+
43
+
44
+
45
+ private TaskListView(List<TaskData> taskDataList)
46
+
47
+ {
48
+
49
+ ItemsSource = taskDataList.Result;
50
+
51
+ var cell = new DataTemplate(typeof(TextCell));
52
+
53
+ cell.SetBinding(TextCell.TextProperty, "Title");
54
+
55
+ ItemTemplate = cell;
56
+
57
+ }
58
+
59
+ }
60
+
61
+ ```