HTTP рдХреЗ рд╕рд╛рде 3 рд▓рд╛рдЗрдиреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВ, рдпрд╛ WebClient рдФрд░ WebBrowser рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ RSS рд░реАрдбрд░ рдмрдирд╛рдПрдВ


рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╕рд╛рдордЧреНрд░реА рдЧреЗрдВрдж рдкрд░ рд░рд╛рдЬ рдХрд░рддреА рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдорд╛рд░реНрдЯрдлреЛрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдЬрд▓реНрджреА, рд╕реБрдВрджрд░ рдФрд░, рдЕрдзрд┐рдорд╛рдирддрдГ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛред

рджреВрд╕рд░реА рдУрд░, рд╕реВрдЪрдирд╛ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рд▓рд┐рдХ рдЕрдкрдиреЗ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рдФрд░ рд╕рдмрд╕реЗ рдЖрдо рд╡рд┐рдХрд▓реНрдк RSS рдлрд╝реАрдб рд╣реИред рдФрд░ рд╕рднреА рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрд░рдПрд╕рдПрд╕ рд░реАрдбрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕реЗрд╡рд╛ рднреА рд╣реИ рдЬреЛ рдЖрд░рдПрд╕рдПрд╕ рдпрд╛ рдПрдЯреАрдУрдПрдо рд╕реНрд░реЛрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╡реЗрдмрдорд╛рд╕реНрдЯрд░ рдпрд╛ рд╕рдВрд╕рд╛рдзрди рд╕реНрд╡рд╛рдореА рдХреЛ рдореЛрдмрд╛рдЗрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реЗрдирд╛ рддрдХ рдЬрд▓реНрджреА рдкрд╣реБрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рд▓реЗрдХрд┐рди рд╣рдо рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ рдФрд░ рдЖрд╕рд╛рди рддрд░реАрдХреЛрдВ рдХреА рддрд▓рд╛рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдЗрдП рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдп рдХреЗ рдореЗрдЧрд╛-рдПрдбрд╡рд╛рдВрд╕реНрдб рдЖрд░рдПрд╕рдПрд╕ рд░реАрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдХреНрдд рд▓рд┐рдЦреЗрдВред

рддреЛ, рдореВрд▓ рдХрд╛рд░реНрдпред RSS рдмреНрд▓реЙрдЧ рдлрд╝реАрдб рдХреЗ рд▓рд┐рдП RSS рд░реАрдбрд░ рд▓рд┐рдЦреЗрдВ (рдЙрджрд╛рд╣рд░рдг MSDN рдкрд░ рдореЗрд░рд╛ рдмреНрд▓реЙрдЧ рд╣реЛрдЧрд╛), рдЬреЛ рдкреЛрд╕реНрдЯ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдкреЛрд╕реНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛ред рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдпрд╣ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЙрдиреНрдирдд RSS рд░реАрдбрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░рд┐рдХреНрдд рд╣реИред

рдЖрдЗрдП рдХрд╛рд░реНрдп рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрдкрд▓рдмреНрдз рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВред рддреЛ, рд╣рдореЗрдВ рдЖрд░рдПрд╕рдПрд╕ рдлрд╝реАрдб (рдПрдХреНрд╕рдПрдордПрд▓) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░реЗрдВ, рдЗрд╕реЗ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдПрдВ рдФрд░ рдкреЛрд╕реНрдЯ рдХреЗ рдирд╛рдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ - рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ (рдПрдЪрдЯреАрдПрдордПрд▓)ред

WebClient рд╕рд░рд▓ HTTP рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕реВрдЪреА рд╣рдореЗрдВ рд▓рд┐рд╕реНрдЯрдмреЙрдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред LINQ to XML рд╣рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ XML рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕реВрдЪреА рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдХреЛ рд╕рдВрдмрджреНрдз рдХрд░реЗрдВ - рдбреЗрдЯрд╛рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдкреНрд░рджрд░реНрд╢рди - рдбреЗрдЯрд╛рдЯреЗрдореНрдкрд▓реЗрдЯред рд╢реЗрд╖ HTML рдкреНрд░рджрд░реНрд╢рдиред рдкрд╕рдВрдж рд╕рд░рд▓ рд╣реИ - рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд WebBrowser рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВред рдФрд░ рд╡реЗрдмрдмреНрд░реЛрд╕рд░ рдореЗрдВ рдкреЛрд╕реНрдЯ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рд╕реВрдЪреА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдбрд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВрдЧреЗред

рдЦреИрд░, рдпрд╣ рдЕрдВрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЗрдП рдХреЛрдб рдореЗрдВ рд╣рдорд╛рд░реЗ рд╕рднреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдПрдВред рдЗрд╕рдХреЗ рдмрд╛рдж рддреБрд░рдВрдд System.Xml.Linq рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ (рд╕рдВрджрд░реНрдн) рдЬреЛрдбрд╝реЗрдВ, рдФрд░ рдирд┐рдореНрди рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ:
using System.Xml.Linq; using System.IO; using System.IO.IsolatedStorage; 

рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдиреЗрдорд╕реНрдкреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдореА XML рдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдФрд░ рдЕрдиреНрдп рджреЛ рдХреЛ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдбрд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╕реНрдЯреНрд░реАрдорд╡рд┐рдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рдЬрд╛рдПред

рд╣рдо рдЖрд░рдПрд╕рдПрд╕ рдлрд╝реАрдб рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрд┐рд╕ рдмреНрд▓реЙрдЧ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЪрдпрдирд┐рдд рдкреЛрд╕реНрдЯ рдХреЗ рдкрд╛рда рд╕реЗ рдпреБрдХреНрдд рдлрд╝рд╛рдЗрд▓ рдХреИрд╕реЗ рдХрд╣рд▓рд╛рдПрдЧреАред рдореИрдВ рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдкреЛрд╕реНрдЯ рдХрд╛ рдирд╛рдо рд░рдЦреВрдБрдЧрд╛ред рдлрд╝рд╛рдЗрд▓:
 const string blogRSSURL = "http://blogs.msdn.com/b/stasus/rss.aspx"; public static string postFileName = "post.html" bool isPageNew = false; 

рджреВрд╕рд░реЗ рдкреГрд╖реНрда рд╕реЗ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕ рдкрд░ рдореИрдВ рдЪрдпрдирд┐рдд рдкреЛрд╕реНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдореИрдВ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред IsPageNew рдзреНрд╡рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдпрд╛рдиреА, рдкреГрд╖реНрда рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдпрд╛ рдпрджрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдбреЙрд░реНрдореЗрдВрдЯ рдФрд░ рдЯрдВрдмрд╕реНрдЯреЛрди рд░рд╛рдЬреНрдпреЛрдВ рд╕реЗ рдирд┐рдХрд╛рд╕ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред

XML рдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред PostMessage.cs рдирд╛рдордХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдПрдХ рдХреНрд▓рд╛рд╕ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХрд╛ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рд╣реЛрдЧрд╛:
 public class PostMessage { public DateTime pubDate { get; set; } public string title { get; set; } public string link { get; set; } public string description { get; set; } } 

рд╣рдо MainPage.xaml рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдВрдЧреЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкреЗрдЬ рдХрд╛ рдирд╛рдо рджреЗрдВрдЧреЗ, рдФрд░ рдЪрдпрдирд┐рдд рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдФрд░ рдПрдХ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд▓рд┐рд╕реНрдЯрдмреЙрдХреНрд╕ рднреА рдЬреЛрдбрд╝реЗрдВрдЧреЗ:
 <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="  " Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <ListBox Name="PostList" SelectionChanged="PostList_SelectionChanged"> <ListBox.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding pubDate, ConverterCulture=ru-RU, StringFormat=D}" FontSize="20" Foreground="Coral"/> <TextBlock Text="{Binding title}" TextWrapping="Wrap" FontSize="22"/> </StackPanel> </DataTemplate> </ListBox.ItemTemplate> </ListBox> </Grid> 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕реНрд╡рд░реВрдкрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕ рддрд┐рдерд┐ рдХреЛ рд╕реВрдЪреА рдмреЙрдХреНрд╕ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдЕрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рд╣рдо рдкреЗрдЬ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж RSS рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 // Constructor public MainPage() { InitializeComponent(); isPageNew = true; Loaded += new RoutedEventHandler(MainPage_Loaded); } void MainPage_Loaded(object sender, RoutedEventArgs e) { if (isPageNew) { WebClient client = new WebClient(); client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); client.DownloadStringAsync(new Uri(blogRSSURL)); isPageNew = false; } } void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) { if (e.Error == null) { ParseRSSAndBindData(e.Result); } } void ParseRSSAndBindData(string RSSText) { XElement rssElements = XElement.Parse(RSSText); var blogPosts = from post in rssElements.Descendants("item") select new PostMessage { title = post.Element("title").Value, pubDate = DateTime.Parse(post.Element("pubDate").Value), link = post.Element("link").Value, description = post.Element("description").Value }; PostList.ItemsSource = blogPosts; } 

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ RSS рдХреЗрд╡рд▓ рддрднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рд╣рдо RSS рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдФрд░ Tumbstoned рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рд╣рдо рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╣рдореЗрдВ рдЧрд╛рд░рдВрдЯреА рднреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рд╣рдо рдкреЛрд╕реНрдЯ рджреЗрдЦрдиреЗ рд╡рд╛рд▓реЗ рдкреЗрдЬ рд╕реЗ рд╕реВрдЪреА рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдлрд┐рд░ рд╕реЗ рдЖрд░рдПрд╕рдПрд╕ рд╕реЗ рдЕрдиреБрд░реЛрдз рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓реЛрдбреЗрдб рдШрдЯрдирд╛ рднреА рд╣реЛрддреА рд╣реИред

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо WebClient рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдпреВрдЖрд░рдЖрдИ рд╕реЗ рдЬреАрдИрдЯреА рд╡рд┐рдзрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рд╛рдкреНрдд рдЖрд░рдПрд╕рдПрд╕ рдПрдХреНрд╕рдПрдордПрд▓ рдХреЛ рд╡рд╕реНрддреБрдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рд╣реИрдВред

рдкреЛрд╕реНрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ PostPage.xaml рдкреГрд╖реНрда рдЬреЛрдбрд╝реЗрдВ, рдЙрд╕ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдкреЗрдЬ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ рдФрд░ WebBrowser рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝реЗрдВ:
 <!--TitlePanel contains the name of the application and page title--> <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28"> <TextBlock x:Name="ApplicationTitle" Text="  " Style="{StaticResource PhoneTextNormalStyle}"/> <TextBlock x:Name="PageTitle" Text="" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/> </StackPanel> <!--ContentPanel - place additional content here--> <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <phone:WebBrowser Name="blogPost"/> </Grid> 

рдЪрд▓рд┐рдП рд╡рд╛рдкрд╕ MainPage.xaml.cs рдкреЗрдЬ рдХреЗ рдХреЛрдб рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕реВрдЪреА рдмреЙрдХреНрд╕ рдореЗрдВ рдЪрдпрди рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
 private void PostList_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (e.AddedItems.Count > 0) { IsolatedStorageFile appStorage = IsolatedStorageFile.GetUserStoreForApplication(); IsolatedStorageFileStream postFileStrieam = appStorage.CreateFile(MainPage.postFileName); StreamWriter sw = new StreamWriter(postFileStrieam); sw.WriteLine("<html><head><meta http-equiv='Content-Type' content='text/html; charset=UTF-8' /></head><body>"); sw.Write(((PostMessage)e.AddedItems[0]).description); sw.WriteLine("</body></html>"); sw.Close(); postFileStrieam.Close(); NavigationService.Navigate(new Uri("/PostPage.xaml", UriKind.RelativeOrAbsolute)); } } 

рдЗрд╕рд▓рд┐рдП, рд╣реИрдВрдбрд▓рд░ рдореЗрдВ, рд╣рдо рдЬрд╛рдВрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрдпрдирд┐рдд рд╣реИред ListBox рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЖрдЗрдЯрдо (рдпреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВ) рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдкреЛрд╕реНрдЯрдореЗрд╕реЗрдЬ рдореЗрдВ рдЪрдпрдирд┐рдд рддрддреНрд╡ рдХреЛ рдХрд╛рд╕реНрдЯ рдХрд┐рдпрд╛, рдкреЛрд╕реНрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЙрд╕рдореЗрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд┐рдпрд╛, рдЗрд╕реЗ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдкреЗрдЯрдХрд░, рд╕рд╛рдордЧреНрд░реА рдФрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ред

рдЬрдм рдЖрдк рджреВрд╕рд░рд╛ рдкреГрд╖реНрда рдЦреЛрд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдмрд╛рдХреА рд╣реИ:
 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { base.OnNavigatedTo(e); blogPost.Navigate(new Uri(MainPage.postFileName, UriKind.RelativeOrAbsolute)); } 

рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдореИрдВ OnNavigaeTo рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдк рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:

рдЖрдЧреЗ рдХреЗ рд╕реБрдзрд╛рд░ рдХреЗрд╡рд▓ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдиреЛрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, HTTP рдХреЗ рд╕рд╛рде рдХреЛрдб рдореЗрдВ 3 рд▓рд╛рдЗрдиреЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реА рдереАрдВред

UPD : рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:
рд▓рд╛рдЗрд╡ рдЯрд╛рдЗрд▓реНрд╕ рдФрд░ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдПрдЬреЗрдВрдЯ
MSDN рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рд╡рд┐рдХрд╛рд╕ рдХреЗрдВрджреНрд░ (рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдХреЛрд░реНрд╕)
рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдПрд╕рдбреАрдХреЗ 7.1
рд░реВрд╕реА рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рд╡рд┐рдХрд╛рд╕ рдордВрдЪ

Source: https://habr.com/ru/post/In134929/


All Articles