protected override void OnNavigatedFrom(NavigationEventArgs e) { if (abilityNames != null) { abilityNames.Clear(); abilityNames = null; } if (HeroPlayerInfo != null) { HeroPlayerInfo = null; } base.OnNavigatedFrom(e); }
/// <summary> /// 点击查看指定玩家数据 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DireListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (DireListView.SelectedIndex >= 0) { //this.NavigationCacheMode = NavigationCacheMode.Enabled; HeroPlayerInfoViewModel heroPlayerInfoViewModel = DotaMatchHelper.GetHeroPlayerInfo(DireListView.SelectedIndex + 5); PlayersInfoViewModel temp = direPlayers[DireListView.SelectedIndex]; heroPlayerInfoViewModel.Account_id = "ID: " + temp.Account_id; heroPlayerInfoViewModel.Personaname = temp.PlayerName; heroPlayerInfoViewModel.KDA = Regex.Match(temp.KDA, "KDA:([\\d\\D]*)").Groups[1].Value; heroPlayerInfoViewModel.Level = temp.Level + "级"; heroPlayerInfoViewModel.Last_hits = Regex.Match(temp.LD, "正/反:([\\d\\D]*?)/").Groups[1].Value; heroPlayerInfoViewModel.Denies = Regex.Match(temp.LD, "正/反:[\\d\\D]*?/([\\d\\D]*)").Groups[1].Value; heroPlayerInfoViewModel.KDAString = "KDA: " + temp.K_D_A.ToString(); this.Frame.Navigate(typeof(MatchPlayerPage), heroPlayerInfoViewModel); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { HeroPlayerInfo = (e.Parameter as HeroPlayerInfoViewModel); if (HeroPlayerInfo == null) { ShowDialog(); return; } foreach (var item in HeroPlayerInfo.Permanent_buffs) { switch (item.Permanent_buff) { case "1": Buff1Grid.Visibility = Visibility.Visible; Buff1TextBlock.Text = item.Stack_count; break; case "2": Buff2Grid.Visibility = Visibility.Visible; Buff2TextBlock.Text = item.Stack_count; break; case "3": Buff3Grid.Visibility = Visibility.Visible; Buff3TextBlock.Text = item.Stack_count; break; case "4": Buff4Grid.Visibility = Visibility.Visible; Buff4TextBlock.Text = item.Stack_count; break; case "5": Buff5Grid.Visibility = Visibility.Visible; Buff5TextBlock.Text = item.Stack_count; break; case "6": Buff6Grid.Visibility = Visibility.Visible; Buff6TextBlock.Text = item.Stack_count; break; case "7": Buff7Grid.Visibility = Visibility.Visible; Buff7TextBlock.Text = item.Stack_count; break; case "8": Buff8Grid.Visibility = Visibility.Visible; Buff8TextBlock.Text = item.Stack_count; break; case "9": Buff9Grid.Visibility = Visibility.Visible; Buff9TextBlock.Text = item.Stack_count; break; default: break; } } string rankMedalSource = "ms-appx:///Assets/RankMedal/SeasonalRank0-0.png"; if (HeroPlayerInfo.Rank_tier == null) { } else if (HeroPlayerInfo.Rank_tier[0] == '8') { rankMedalSource = "ms-appx:///Assets/RankMedal/SeasonalRankTop0.png"; } else if (HeroPlayerInfo.Rank_tier.Length == 2) { rankMedalSource = string.Format("ms-appx:///Assets/RankMedal/SeasonalRank{0}-{1}.png", HeroPlayerInfo.Rank_tier[0], HeroPlayerInfo.Rank_tier[1]); } else { } MatchData_RankMedalImage.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(rankMedalSource)); for (int i = 0; i < HeroPlayerInfo.Ability_upgrades_arr.Count; i++) { try { AbilityViewModel temp = new AbilityViewModel() { Ability = ConstantsHelper.abilitiesIDDictionary[HeroPlayerInfo.Ability_upgrades_arr[i]].StartsWith("special_bonus") ? "ms-appx:///Assets/Icons/talent.jpg" : string.Format("https://www.dota2.com.cn/images/heroes/abilities/{0}_hp1.png", ConstantsHelper.abilitiesIDDictionary[HeroPlayerInfo.Ability_upgrades_arr[i]]) }; if (HeroPlayerInfo.Hero_name != "祈求者") { if (i < 16) { temp.ID = (i + 1).ToString(); } else if (i == 16) { temp.ID = "18"; } else if (i == 17) { temp.ID = "20"; } else if (i == 18) { temp.ID = "25"; } } else { temp.ID = (i + 1).ToString(); } abilityNames.Add(temp); } catch { continue; } } if (HeroPlayerInfo.Account_id == "ID: null") { IDTextBlock.Visibility = Visibility.Collapsed; } base.OnNavigatedTo(e); }