完成PageFriendsFollowing的左侧table加载

croire 3 years ago
parent 4b36040f39
commit 84c3403a94

@ -102,6 +102,9 @@
<system:String x:Key="FriendFollowing">关注</system:String> <system:String x:Key="FriendFollowing">关注</system:String>
<system:String x:Key="FriendFollower">粉丝</system:String> <system:String x:Key="FriendFollower">粉丝</system:String>
<system:String x:Key="AllFollowing">全部关注</system:String>
<system:String x:Key="WhisperFollowing">悄悄关注</system:String>
<!-- VideoDetail --> <!-- VideoDetail -->
<system:String x:Key="CopyCover">复制封面图片</system:String> <system:String x:Key="CopyCover">复制封面图片</system:String>
<system:String x:Key="CopyCoverUrl">复制封面URL</system:String> <system:String x:Key="CopyCoverUrl">复制封面URL</system:String>

@ -7,6 +7,7 @@ using Prism.Events;
using Prism.Regions; using Prism.Regions;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Threading.Tasks;
namespace DownKyi.ViewModels.Friends namespace DownKyi.ViewModels.Friends
{ {
@ -14,6 +15,9 @@ namespace DownKyi.ViewModels.Friends
{ {
public const string Tag = "PageFriendsFollowing"; public const string Tag = "PageFriendsFollowing";
// mid
private long mid = -1;
#region 页面属性申明 #region 页面属性申明
private ObservableCollection<TabHeader> tabHeaders; private ObservableCollection<TabHeader> tabHeaders;
@ -35,19 +39,8 @@ namespace DownKyi.ViewModels.Friends
public ViewFollowingViewModel(IEventAggregator eventAggregator) : base(eventAggregator) public ViewFollowingViewModel(IEventAggregator eventAggregator) : base(eventAggregator)
{ {
#region 属性初始化 #region 属性初始化
List<FollowingGroup> followingGroup = UserRelation.GetFollowingGroup();
TabHeaders = new ObservableCollection<TabHeader>()
{
//new TabHeader{Id = 0, Title = DictionaryResource.GetString("FriendFollowing") },
new TabHeader{Id = -1, Title = "全部关注" },
new TabHeader{Id = -2, Title = "悄悄关注" },
};
foreach (FollowingGroup tag in followingGroup) TabHeaders = new ObservableCollection<TabHeader>();
{
TabHeaders.Add(new TabHeader { Id = tag.TagId, Title = tag.Name, SubTitle = tag.Count.ToString() });
}
#endregion #endregion
} }
@ -84,6 +77,40 @@ namespace DownKyi.ViewModels.Friends
#endregion #endregion
/// <summary>
/// 初始化左侧列表
/// </summary>
private async void InitLeftTable()
{
TabHeaders.Clear();
// 用户的关系状态数
UserRelationStat relationStat = null;
await Task.Run(() =>
{
relationStat = UserStatus.GetUserRelationStat(mid);
});
if (relationStat != null)
{
TabHeaders.Add(new TabHeader { Id = -1, Title = DictionaryResource.GetString("AllFollowing"), SubTitle = relationStat.Following.ToString() });
TabHeaders.Add(new TabHeader { Id = -2, Title = DictionaryResource.GetString("WhisperFollowing"), SubTitle = relationStat.Whisper.ToString() });
}
// 用户的关注分组
List<FollowingGroup> followingGroup = null;
await Task.Run(() =>
{
followingGroup = UserRelation.GetFollowingGroup();
});
if (followingGroup != null)
{
foreach (FollowingGroup tag in followingGroup)
{
TabHeaders.Add(new TabHeader { Id = tag.TagId, Title = tag.Name, SubTitle = tag.Count.ToString() });
}
}
}
/// <summary> /// <summary>
/// 导航到页面时执行 /// 导航到页面时执行
/// </summary> /// </summary>
@ -92,9 +119,26 @@ namespace DownKyi.ViewModels.Friends
{ {
base.OnNavigatedTo(navigationContext); base.OnNavigatedTo(navigationContext);
// 进入设置页面时显示的设置项 // 传入mid
SelectTabId = 0; long parameter = navigationContext.Parameters.GetValue<long>("mid");
if (parameter == 0)
{
return;
}
mid = parameter;
// 是否是从PageFriends的headerTable的item点击进入的
// true表示加载PageFriends后第一次进入此页面
// false表示从headerTable的item点击进入的
bool isFirst = navigationContext.Parameters.GetValue<bool>("isFirst");
if (isFirst)
{
// 初始化左侧列表
InitLeftTable();
// 进入页面时显示的设置项
SelectTabId = 0;
}
} }
} }

@ -98,7 +98,7 @@ namespace DownKyi.ViewModels
{ {
if (!(parameter is TabHeader tabHeader)) { return; } if (!(parameter is TabHeader tabHeader)) { return; }
NavigationView(tabHeader.Id); NavigationView(tabHeader.Id, false);
} }
#endregion #endregion
@ -107,11 +107,16 @@ namespace DownKyi.ViewModels
/// 进入子页面 /// 进入子页面
/// </summary> /// </summary>
/// <param name="id"></param> /// <param name="id"></param>
private void NavigationView(int id) /// <param name="isFirst"></param>
private void NavigationView(int id, bool isFirst)
{ {
// isFirst参数表示是否是从PageFriends的headerTable的item点击进入的
// true表示加载PageFriends后第一次进入
// false表示从headerTable的item点击进入
NavigationParameters param = new NavigationParameters() NavigationParameters param = new NavigationParameters()
{ {
{ "mid", mid }, { "mid", mid },
{ "isFirst", isFirst },
}; };
switch (id) switch (id)
@ -145,7 +150,7 @@ namespace DownKyi.ViewModels
mid = (long)parameter["mid"]; mid = (long)parameter["mid"];
SelectTabId = (int)parameter["friendId"]; SelectTabId = (int)parameter["friendId"];
NavigationView(SelectTabId); NavigationView(SelectTabId, true);
} }
} }

Loading…
Cancel
Save