diff --git a/Images/respond.png b/Images/respond.png
new file mode 100644
index 0000000..f5d7bab
Binary files /dev/null and b/Images/respond.png differ
diff --git a/MailPage.xaml b/MailPage.xaml
new file mode 100644
index 0000000..420e204
--- /dev/null
+++ b/MailPage.xaml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/MailPage.xaml.cs b/MailPage.xaml.cs
new file mode 100644
index 0000000..a9387d9
--- /dev/null
+++ b/MailPage.xaml.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Windows;
+using System.Windows.Navigation;
+using System.Windows.Controls;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Animation;
+using System.Windows.Shapes;
+using Microsoft.Phone.Controls;
+
+namespace sbbs_client_wp7
+{
+ using Sbbs;
+
+ public partial class MailPage : PhoneApplicationPage
+ {
+ public MailPage()
+ {
+ InitializeComponent();
+
+ if (App.ViewModel.Mail == null)
+ App.ViewModel.Mail = new TopicViewModel();
+
+ DataContext = App.ViewModel.Mail;
+ }
+
+ protected override void OnNavigatedTo(NavigationEventArgs e)
+ {
+ base.OnNavigatedTo(e);
+
+ if (NavigationContext.QueryString.ContainsKey("type"))
+ {
+ int type = int.Parse(NavigationContext.QueryString["type"]);
+ App.Service.Mail(type, App.ViewModel.Mail.Id, delegate(TopicViewModel mail, bool success, string error)
+ {
+ LoadProgress.Visibility = Visibility.Collapsed;
+ LoadProgress.IsIndeterminate = false;
+ Content.Visibility = Visibility.Visible;
+ if (mail != null)
+ App.ViewModel.Mail.Content = mail.Content;
+ });
+ }
+ }
+
+ private void Reply_Click(object sender, EventArgs e)
+ {
+ }
+ }
+}
\ No newline at end of file
diff --git a/MailboxPage.xaml.cs b/MailboxPage.xaml.cs
index d9f201e..9cafa48 100644
--- a/MailboxPage.xaml.cs
+++ b/MailboxPage.xaml.cs
@@ -86,6 +86,10 @@ private void Mail_Selected(object sender, SelectionChangedEventArgs e)
{
// 清除选择,否则同样的项目无法点击第二次
(sender as ListBox).SelectedIndex = -1;
+
+ int type = MailboxPivot.SelectedIndex;
+ App.ViewModel.Mail = e.AddedItems[0] as TopicViewModel;
+ NavigationService.Navigate(new Uri("/MailPage.xaml?type=" + type, UriKind.Relative));
}
}
diff --git a/SampleData/MailSampleData.xaml b/SampleData/MailSampleData.xaml
new file mode 100644
index 0000000..98c360d
--- /dev/null
+++ b/SampleData/MailSampleData.xaml
@@ -0,0 +1,18 @@
+
\ No newline at end of file
diff --git a/ViewModels/MainViewModel.cs b/ViewModels/MainViewModel.cs
index d4db49c..a8d37ec 100644
--- a/ViewModels/MainViewModel.cs
+++ b/ViewModels/MainViewModel.cs
@@ -108,6 +108,8 @@ public ObservableCollection FavoratesItems
public HotViewModel Hot { get; set; }
// 邮箱页面
public MailboxViewModel Mailbox { get; set; }
+ // 邮件
+ public TopicViewModel Mail { get; set; }
// 是否已经登陆
public bool IsLogin
diff --git a/sbbs-client-wp7.csproj b/sbbs-client-wp7.csproj
index 1583abe..578736c 100644
--- a/sbbs-client-wp7.csproj
+++ b/sbbs-client-wp7.csproj
@@ -84,6 +84,9 @@
MailboxPage.xaml
+
+ MailPage.xaml
+
MainPage.xaml
@@ -145,6 +148,10 @@
Designer
MSBuild:Compile
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile
@@ -165,6 +172,10 @@
Designer
MSBuild:Compile
+
+ MSBuild:Compile
+ Designer
+
Designer
MSBuild:Compile
@@ -198,6 +209,7 @@
+