summaryrefslogtreecommitdiff
path: root/Juick/ThreadView.xaml.cs
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2012-02-11 22:22:50 +0400
committerGravatar Vitaly Takmazov2012-02-11 22:22:50 +0400
commit49eb44f852ab21e72c17bbc436ffa79525a1aba3 (patch)
tree249cd1d69dc8078104dc2bc35cfcbbce98cd85f4 /Juick/ThreadView.xaml.cs
v 0.999 :)
Diffstat (limited to 'Juick/ThreadView.xaml.cs')
-rw-r--r--Juick/ThreadView.xaml.cs56
1 files changed, 56 insertions, 0 deletions
diff --git a/Juick/ThreadView.xaml.cs b/Juick/ThreadView.xaml.cs
new file mode 100644
index 0000000..c984dd1
--- /dev/null
+++ b/Juick/ThreadView.xaml.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Linq;
+using System.Windows.Controls;
+using System.Windows.Navigation;
+using Juick.ViewModels;
+using Microsoft.Phone.Controls;
+
+namespace Juick
+{
+ public partial class ThreadView : PhoneApplicationPage
+ {
+ public ThreadView()
+ {
+ InitializeComponent();
+ model = new ThreadViewModel();
+ DataContext = model;
+ }
+
+ public ThreadViewModel model;
+
+ // When page is navigated to set data context to selected item in list
+ protected override void OnNavigatedTo(NavigationEventArgs e)
+ {
+ string _mid = "";
+ string _last = "";
+ bool last = false;
+ if (NavigationContext.QueryString.TryGetValue("last", out _last))
+ {
+ last = bool.Parse(_last);
+ }
+ if (NavigationContext.QueryString.TryGetValue("mid", out _mid))
+ {
+ int MID = int.Parse(_mid);
+ model.Root = last ? App.ViewModel.Last.Single(i => i.MID == MID) : App.ViewModel.MyFeed.Single(i => i.MID == MID);
+ model.LoadData();
+ }
+ }
+
+ private void ListBox_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
+ {
+ // If selected index is -1 (no selection) do nothing
+ if (((ListBox)sender).SelectedIndex == -1)
+ return;
+
+ // Navigate to the new page
+ var item = model.Items[((ListBox) sender).SelectedIndex];
+ var destUri = string.Format("/NewPostView.xaml?mid={0}", item.MID);
+ if (item.RID > 0)
+ destUri += string.Format("&rid={0}", item.RID);
+ NavigationService.Navigate(new Uri(destUri , UriKind.Relative));
+
+ // Reset selected index to -1 (no selection)
+ ((ListBox)sender).SelectedIndex = -1;
+ }
+ }
+} \ No newline at end of file