This repository has been archived by the owner on May 22, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpastable-code.txt
99 lines (79 loc) · 2.67 KB
/
pastable-code.txt
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
93
94
95
96
97
98
99
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
ViewsModels/ActivityStreamViewModel.cs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class ActivityStreamViewModel : ViewModelBase
{
private readonly ObservableCollection<TimeEntry> timeEntries = new ObservableCollection<TimeEntry> ();
public ObservableCollection<TimeEntry> TimeEntries {
get { return this.timeEntries; }
}
public async Task Initialize ()
{
var fakeData = await FakeDataProvider.GetFakeData ();
foreach (var item in fakeData) {
this.timeEntries.Add (item);
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Views/ActivityStream.xaml
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
<ContentPage
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MobileApp.Views.ActivityStream"
Title="Activity stream">
<ContentPage.Content>
</ContentPage.Content>
</ContentPage>
<ListView>
<!-- ItemTemplate -->
</ListView>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<!-- Grid -->
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.Padding>
<Thickness Left="12" Right="12" />
</Grid.Padding>
<!-- taskName Label -->
<!-- hours Label -->
</Grid>
<Label Grid.Column="0" Grid.Row="0" Text="{Binding taskName}" YAlign="Center" Font="Bold" />
<Label Grid.Column="1" Grid.Row="0" Text="{Binding hours}" YAlign="Center" />
<ListView ItemsSource="{Binding TimeEntries}">
<!-- ItemTemplate -->
</ListView>
xmlns:vm="clr-namespace:MobileApp.ViewModels;assembly=MobileApp"
<ContentPage.BindingContext>
<vm:ActivityStreamViewModel />
</ContentPage.BindingContext>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Views/ActivityStream.xaml.cs
public partial class ActivityStream : ContentPage
{
public ActivityStream ()
{
InitializeComponent ();
}
protected override async void OnAppearing ()
{
this.IsBusy = true;
await ((ActivityStreamViewModel)this.BindingContext).Initialize ();
this.IsBusy = false;
}
}
//////////////////////////////
App.cs
return new NavigationPage (new ActivityStream ());