private static SmartImage BuildImgControl(HtmlElement item) { //TODO: crash @ http://imgsrc.baidu.com/forum/w%3D580%3Bcp%3Dtieba%2C10%2C666%3Bap%3Dsnh48%B0%C9%2C90%2C674/sign=d10ca71e0b24ab18e016e13f05c185bd/42a0283fb80e7becd78d41d92d2eb9389a506bd0.jpg var url = Uri.UnescapeDataString(item.Attributes["src"]); if (url == null) { return(null); } S1Resource.GetAbsoluteUrl(ref url); bool isEmotion = S1Resource.IsEmotion(url); var image = new SmartImage(); ImageResourceManager.SetUriSource(image, url); if (isEmotion) { image.Margin = new Thickness(0, 0, 0, -6); } else { image.Margin = new Thickness(6); } return(image); }
private static Inline BuildLink(HtmlElement item) { Hyperlink link = new Hyperlink(); var url = item.Attributes["href"]; var aText = item.PlainText(); if (url == null || aText.Length == 0) { return(link); } if (url.ToLower().StartsWith("mailto:")) { link.Click += (o, e) => { EmailComposeTask emailComposeTask = new EmailComposeTask(); emailComposeTask.To = url.Substring(url.IndexOf(':') + 1); emailComposeTask.Show(); }; } S1Resource.GetAbsoluteUrl(ref url); var viewParam = S1Resource.GetThreadParamFromUrl(url); if (viewParam != null) { Run header = new Run(); header.Text = "<s1: "; header.FontStyle = FontStyles.Italic; link.Inlines.Add(header); link.Inlines.Add(aText); link.Inlines.Add("> "); link.NavigateUri = new Uri("/Views/PostView.xaml" + viewParam, UriKind.Relative); } else { try { link.NavigateUri = new Uri(url); link.TargetName = "_blank"; } catch (Exception) { }; link.Inlines.Add(aText); } link.FontSize = SettingView.ContentFontSize * .85; link.Foreground = (Brush)Application.Current.Resources["PhoneAccentBrush"]; return(link); }