{"id":834,"date":"2018-10-11T13:29:42","date_gmt":"2018-10-11T13:29:42","guid":{"rendered":"http:\/\/www.inwizards.com\/blog\/?p=834"},"modified":"2024-02-17T07:34:26","modified_gmt":"2024-02-17T07:34:26","slug":"easily-create-master-details-pages-in-xamarin-forms","status":"publish","type":"post","link":"https:\/\/www.inwizards.com\/blog\/easily-create-master-details-pages-in-xamarin-forms\/","title":{"rendered":"Easily create master details pages in Xamarin forms"},"content":{"rendered":"<p align=\"LEFT\"><span style=\"font-family: 'Times New Roman', serif;\"><span style=\"font-size: medium;\"><span style=\"color: #181818;\">In this blog we are sharing few insights about why Xamarin has become the most preferred choice for mobile app developers and step-by-step guide to create master details pages in Xamarin Forms. <\/span>Mobile applications are on a rise!<\/span><\/span><\/p>\n<p align=\"LEFT\"><span style=\"font-family: 'Times New Roman', serif;\"><span style=\"font-size: medium;\">Xamarin forms empower you to deliver the same experience to multiple platforms.<\/span><\/span><\/p>\n<p align=\"LEFT\"><span style=\"font-family: 'Times New Roman', serif;\"><span style=\"font-size: medium;\">Q. What is <\/span><\/span><span style=\"color: #4e2800;\"><span style=\"font-size: small;\"><b>MasterDetailPage<\/b><\/span><\/span> ?<\/p>\n<p><script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-1542270097115731\" data-ad-slot=\"5976953901\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p align=\"LEFT\">A. 1) <span style=\"color: #4e2800;\"><span style=\"font-size: medium;\">A Page that manages two panes of information.<\/span><\/span><b> <\/b><\/p>\n<p align=\"LEFT\"><span style=\"color: #4e2800;\"> <span style=\"font-size: medium;\">2) <\/span><\/span>MasterDetailPage is the main page that is responsible for two related pages.<\/p>\n<p align=\"LEFT\">It&#8217;s a final screen at our app, this is how our navigation drawer (Master-Detail Page menu) will look like on Android.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" class=\"wp-image-835 aligncenter\" src=\"https:\/\/i2.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1.png?resize=230%2C413&#038;ssl=1\" alt=\"\" width=\"230\" height=\"413\" srcset=\"https:\/\/i2.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1.png?resize=167%2C300&amp;ssl=1 167w, https:\/\/i2.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1.png?w=401&amp;ssl=1 401w\" sizes=\"(max-width: 230px) 100vw, 230px\" data-recalc-dims=\"1\" \/><\/p>\n<p align=\"LEFT\"><b>Start i<\/b><span style=\"font-weight: bold;\">mplementation<\/span><b>\u00a0creating\u00a0master details\u00a0page step by step :- <\/b><\/p>\n<p><strong> 1. Open Visual Studio and select New Project.<\/strong><\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" class=\"aligncenter size-medium wp-image-837\" src=\"https:\/\/i1.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1.jpg?resize=300%2C266&#038;ssl=1\" alt=\"\" width=\"300\" height=\"266\" srcset=\"https:\/\/i1.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1.jpg?resize=300%2C266&amp;ssl=1 300w, https:\/\/i1.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1.jpg?w=316&amp;ssl=1 316w\" sizes=\"(max-width: 300px) 100vw, 300px\" data-recalc-dims=\"1\" \/><\/p>\n<p><strong>2. Select project type (Cross &#8211; PlatForm) and give this project a name.<\/strong><\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" class=\"aligncenter wp-image-838\" src=\"https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/2-1.png?resize=367%2C225&#038;ssl=1\" alt=\"\" width=\"367\" height=\"225\" srcset=\"https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/2-1.png?resize=300%2C184&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/2-1.png?w=625&amp;ssl=1 625w\" sizes=\"(max-width: 367px) 100vw, 367px\" data-recalc-dims=\"1\" \/><\/p>\n<p><strong>3. Select template \u2013 Blank App and code sharing as PCL.<\/strong><\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" class=\"aligncenter wp-image-839\" src=\"https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1-1.jpg?resize=408%2C223&#038;ssl=1\" alt=\"\" width=\"408\" height=\"223\" srcset=\"https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1-1.jpg?resize=300%2C164&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1-1.jpg?w=642&amp;ssl=1 642w\" sizes=\"(max-width: 408px) 100vw, 408px\" data-recalc-dims=\"1\" \/><\/p>\n<p>Note =&gt; Add Some File<\/p>\n<p>* Add Views Folder.<\/p>\n<p>1. In views folder add HomeView .<\/p>\n<p>2. In views folder add MenuViewView.<\/p>\n<p>* Add ViewsModels Folder.<\/p>\n<p>1. In views folder add HomeViewModel file.<\/p>\n<p align=\"LEFT\"><img loading=\"lazy\" class=\"aligncenter wp-image-840\" src=\"https:\/\/i2.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1-1.png?resize=214%2C351&#038;ssl=1\" alt=\"\" width=\"214\" height=\"351\" srcset=\"https:\/\/i2.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1-1.png?resize=183%2C300&amp;ssl=1 183w, https:\/\/i2.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/1-1.png?w=285&amp;ssl=1 285w\" sizes=\"(max-width: 214px) 100vw, 214px\" data-recalc-dims=\"1\" \/><\/p>\n<p><strong>4. Open HomeView.xaml and add the follwoing code<\/strong><br \/>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-1542270097115731\" data-ad-slot=\"5976953901\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; ?&gt;<\/p>\n<p>&lt;ContentPage xmlns=&#8221;https:\/\/xamarin.com\/schemas\/2014\/forms&#8221;<\/p>\n<p>xmlns:x=&#8221;https:\/\/schemas.microsoft.com\/winfx\/2009\/xaml&#8221;<\/p>\n<p>x:Class=&#8221;App2.HomeView&#8221;&gt;<\/p>\n<p>&lt;ContentPage.Content&gt;<\/p>\n<p>&lt;StackLayout&gt;<\/p>\n<p>&lt;Label Text=&#8221;Welcome to Xamarin.Forms!&#8221;<\/p>\n<p>VerticalOptions=&#8221;CenterAndExpand&#8221;<\/p>\n<p>HorizontalOptions=&#8221;CenterAndExpand&#8221; \/&gt;<\/p>\n<p>&lt;\/StackLayout&gt;<\/p>\n<p>&lt;\/ContentPage.Content&gt;<\/p>\n<p>&lt;\/ContentPage&gt;<\/p>\n<ol start=\"5\">\n<li><strong>Change &lt;ContentPage&gt;&lt;\/ContentPage&gt; to &lt;MasterDetailPage&gt;&lt;\/MasterDetailPage&gt;<\/strong><\/li>\n<\/ol>\n<p>&lt;MasterDetailPage xmlns=&#8221;https:\/\/xamarin.com\/schemas\/2014\/forms&#8221;<\/p>\n<p>xmlns:x=&#8221;https:\/\/schemas.microsoft.com\/winfx\/2009\/xaml&#8221;<\/p>\n<p>x:Class=&#8221;App2.HomeView &#8220;&gt;<\/p>\n<p>&lt;ContentPage.Content&gt;<\/p>\n<p>&lt;StackLayout&gt;<\/p>\n<p>&lt;Label Text=&#8221;Welcome to Xamarin.Forms!&#8221;<\/p>\n<p>VerticalOptions=&#8221;CenterAndExpand&#8221;<\/p>\n<p>HorizontalOptions=&#8221;CenterAndExpand&#8221; \/&gt;<\/p>\n<p>&lt;\/StackLayout&gt;<\/p>\n<p>&lt;\/ContentPage.Content&gt;<\/p>\n<p>&lt;\/MasterDetailPage&gt;<\/p>\n<p>Changes is also in HomeView.cs file<\/p>\n<p>public partial class HomeView : ContentPage TO MasterDetailPage<br \/>\n{<br \/>\npublic HomeView ()<br \/>\n{<br \/>\nInitializeComponent ();<br \/>\n}<br \/>\n}<\/p>\n<ol start=\"6\">\n<li><strong>Add some code in HomeView.xaml<\/strong><\/li>\n<\/ol>\n<p>&lt;MasterDetailPage xmlns=&#8221;https:\/\/xamarin.com\/schemas\/2014\/forms&#8221;<\/p>\n<p>xmlns:x=&#8221;https:\/\/schemas.microsoft.com\/winfx\/2009\/xaml&#8221;<\/p>\n<p>xmlns:local=&#8221;clr-namespace:App2.Views;assembly=App2&#8243;<\/p>\n<p>x:Class=&#8221;App2 .Views.HomeView&#8221; Title=&#8221;Home&#8221; BackgroundColor=&#8221;White&#8221;&gt;<\/p>\n<p>&lt;MasterDetailPage.Detail&gt;<\/p>\n<p>&lt;NavigationPage BarBackgroundColor=&#8221;White&#8221;&gt;<\/p>\n<p>&lt;x:Arguments&gt;<\/p>\n<p>&lt;local:CategoriesView \/&gt;<\/p>\n<p>&lt;\/x:Arguments&gt;<\/p>\n<p>&lt;\/NavigationPage&gt;<\/p>\n<p>&lt;\/MasterDetailPage.Detail&gt;<\/p>\n<p>&lt;MasterDetailPage.Master&gt;<\/p>\n<p>&lt;local:MenuView x:Name=&#8221;masterMenuPage&#8221;\/&gt;<\/p>\n<p>&lt;\/MasterDetailPage.Master&gt;<\/p>\n<p>&lt;\/MasterDetailPage&gt;<\/p>\n<p><strong> Note :-<\/strong><\/p>\n<p>Use this line for customer renderer :- xmlns:local=&#8221;clr-namespace:App2.Views;assembly=App2&#8243;<\/p>\n<p>Changes is also in HomeView.cs file :-<\/p>\n<p>using Xamarin.Forms;<\/p>\n<p>using Xamarin.Forms.Xaml;<\/p>\n<p>namespace App2.Views<\/p>\n<p>{<\/p>\n<p>[XamlCompilation(XamlCompilationOptions.Compile)]<\/p>\n<p>public partial class HomeView : MasterDetailPage<\/p>\n<p>{<br \/>\npublic HomeView()<br \/>\n{<\/p>\n<p>InitializeComponent();<\/p>\n<p>NavigationPage.SetHasNavigationBar(this, false);<\/p>\n<p>BindingContext = App.AppSetup.HomeViewModel;<\/p>\n<p>var menupage = masterMenuPage;<\/p>\n<p>Master = menupage;<\/p>\n<p>masterMenuPage.menuList.ItemTapped += (sender, e) =&gt;<br \/>\n{<br \/>\nif (e.Item == null) return;<\/p>\n<p>NavigateTo(e.Item as ViewModels.Menu);<\/p>\n<p>};<\/p>\n<p>this.SetBinding(MasterDetailPage.IsPresentedProperty, &#8220;IsMenuListPresented&#8221;);<\/p>\n<p>this.IsPresentedChanged += HomeView_IsPresentedChanged;<\/p>\n<p>void HomeView_IsPresentedChanged(object sender, EventArgs e)<br \/>\n{<br \/>\nApp.AppSetup.HomeViewModel.IsMenuListPresented = ((MasterDetailPage)sender).IsPresented;<br \/>\n}<br \/>\n}<br \/>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-1542270097115731\" data-ad-slot=\"5976953901\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>#region first<\/p>\n<p>\/\/ TODO: Set the navigation menu at the runtime.<\/p>\n<p>void NavigateTo(ViewModels.Menu menu)<br \/>\n{<br \/>\nif (menu.TargetType == typeof(CategoriesView))<br \/>\n{<br \/>\nDetail.Navigation.PopToRootAsync();<br \/>\n}<br \/>\nelse if (menu.TargetType == typeof(SignInView))<br \/>\n{<br \/>\nDetail.Navigation.PushAsync(new SignInView());<br \/>\n}<br \/>\nelse if (menu.TargetType == typeof(SignUpView))<br \/>\n{<br \/>\nDetail.Navigation.PushAsync(new SignUpView());<br \/>\n}<br \/>\nelse if (menu.TargetType == typeof(Nullable))<br \/>\n{<br \/>\nApp.Current.MainPage = new NavigationPage(new Views.SignInSignUpView());<br \/>\n}<br \/>\nApp.AppSetup.HomeViewModel.IsMenuListPresented = false;<br \/>\n}<br \/>\n#endregion<br \/>\n}<br \/>\n}<\/p>\n<p><strong>7 Add a class file named MenuView.xaml. <\/strong><\/p>\n<p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; ?&gt;<\/p>\n<p>&lt;ContentPage xmlns=&#8221;https:\/\/xamarin.com\/schemas\/2014\/forms&#8221;<\/p>\n<p>xmlns:x=&#8221;https:\/\/schemas.microsoft.com\/winfx\/2009\/xaml&#8221;<\/p>\n<p>xmlns:local=&#8221;clr-namespace:App2 .CustomViews;assembly=App2&#8243;<\/p>\n<p>x:Class=&#8221;App2.Views.MenuView&#8221; Title=&#8221;Menu&#8221; BackgroundColor=&#8221;#E55932&#8243;&gt;<\/p>\n<p>&lt;StackLayout x:Name=&#8221;MainStack&#8221; HorizontalOptions=&#8221;FillAndExpand&#8221; VerticalOptions=&#8221;FillAndExpand&#8221; &gt;<\/p>\n<p>&lt;StackLayout HorizontalOptions=&#8221;FillAndExpand&#8221; VerticalOptions=&#8221;StartAndExpand&#8221; Padding=&#8221;0,50&#8243;&gt;<\/p>\n<p>&lt;Image Source=&#8221;icon.png&#8221; Aspect=&#8221;AspectFit&#8221; HorizontalOptions=&#8221;Center&#8221; VerticalOptions=&#8221;Center&#8221; HeightRequest=&#8221;50&#8243; WidthRequest=&#8221;50&#8243;\/&gt;<\/p>\n<p>&lt;local:CustomListView x:Name=&#8221;masterMenuList&#8221; ItemsSource=&#8221;{Binding MenuItemList}&#8221; ItemTapped=&#8221;masterMenuList_ItemTapped&#8221; RowHeight=&#8221;50&#8243; HorizontalOptions=&#8221;FillAndExpand&#8221; VerticalOptions=&#8221;Start&#8221; SeparatorVisibility=&#8221;None&#8221; BackgroundColor=&#8221;Transparent&#8221; &gt;<\/p>\n<p>&lt;local:CustomListView.ItemTemplate&gt;<\/p>\n<p>&lt;DataTemplate&gt;<\/p>\n<p>&lt;local:CustomListViewCell&gt;<\/p>\n<p>&lt;local:CustomListViewCell.View&gt;<\/p>\n<p>&lt;StackLayout HorizontalOptions=&#8221;FillAndExpand&#8221; VerticalOptions=&#8221;Center&#8221;&gt;<\/p>\n<p>&lt;local:CustomLabelRegular Text=&#8221;{Binding Title}&#8221; Grid.Row=&#8221;0&#8243; TextColor=&#8221;#ffffff&#8221; FontSize=&#8221;18&#8243; Grid.Column=&#8221;1&#8243; VerticalOptions=&#8221;Center&#8221; HorizontalOptions=&#8221;Center&#8221; \/&gt;<\/p>\n<p>&lt;\/StackLayout&gt;<\/p>\n<p>&lt;\/local:CustomListViewCell.View&gt;<\/p>\n<p>&lt;\/local:CustomListViewCell&gt;<\/p>\n<p>&lt;\/DataTemplate&gt;<\/p>\n<p>&lt;\/local:CustomListView.ItemTemplate&gt;<\/p>\n<p>&lt;\/local:CustomListView&gt;<\/p>\n<p>&lt;\/StackLayout&gt;<\/p>\n<p>&lt;BoxView BackgroundColor=&#8221;#ffffff&#8221; HeightRequest=&#8221;50&#8243; HorizontalOptions=&#8221;FillAndExpand&#8221; VerticalOptions=&#8221;EndAndExpand&#8221; Margin=&#8221;30&#8243;\/&gt;<\/p>\n<p>&lt;\/StackLayout&gt;<\/p>\n<p>&lt;\/ContentPage&gt;<\/p>\n<p><strong> 8 = &gt; Add a some code in MenuView.cs. <\/strong><\/p>\n<p>using Xamarin.Forms;<\/p>\n<p>using Xamarin.Forms.Xaml;<\/p>\n<p>namespace App2.Views<br \/>\n{<br \/>\n[XamlCompilation(XamlCompilationOptions.Compile)]<\/p>\n<p>public partial class MenuView : ContentPage<br \/>\n{<br \/>\npublic ListView menuList;<\/p>\n<p>public MenuView()<br \/>\n{<br \/>\nInitializeComponent();<\/p>\n<p>this.menuList = masterMenuList;<\/p>\n<p>}<\/p>\n<p>private void masterMenuList_ItemTapped(object sender, ItemTappedEventArgs e)<\/p>\n<p>=&gt; ((ListView)sender).SelectedItem = null;<br \/>\n}<br \/>\n}<br \/>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script><br \/>\n<ins class=\"adsbygoogle\" style=\"display: block; text-align: center;\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\" data-ad-client=\"ca-pub-1542270097115731\" data-ad-slot=\"5976953901\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p><strong>9 Create new folder ( ViewModels ).<\/strong><\/p>\n<p>Add a class file named HomeViewModel.cs.<\/p>\n<p>using System;<\/p>\n<p>using System.Collections.Generic;<\/p>\n<p>using System.Linq;<\/p>\n<p>using System.Text;<\/p>\n<p>using System.Threading.Tasks;<\/p>\n<p>using Xamarin.Forms;<\/p>\n<p>namespace App2.ViewModels<br \/>\n{<br \/>\npublic class HomeViewModel : BaseViewModel<br \/>\n{<br \/>\npublic HomeViewModel()<br \/>\n{<br \/>\nIsMenuListPresented = false;<\/p>\n<p>_menuItemList = new List&lt;Menu&gt;()<br \/>\n{<\/p>\n<p>new Menu {Title = &#8220;Categories&#8221;, TargetType = typeof(SearchView)},<\/p>\n<p>new Menu {Title = &#8220;Shopping List&#8221;, TargetType = typeof(CategoriesView)},<\/p>\n<p>new Menu {Title = &#8220;Promotions&#8221;, TargetType = typeof(SearchView)},<\/p>\n<p>new Menu {Title = &#8220;About the App&#8221;, TargetType = typeof(SearchView)},<\/p>\n<p>new Menu {Title = &#8220;Settings&#8221;, TargetType = typeof(SearchView)},<br \/>\n};<br \/>\nRaisePropertyChanged(() =&gt; MenuItemList);<br \/>\n}<\/p>\n<p>#region Set Properties<\/p>\n<p>private bool _isMenuListPresented;<\/p>\n<p>public bool IsMenuListPresented<br \/>\n{<br \/>\nget { return _isMenuListPresented; }<br \/>\nset<br \/>\n{<\/p>\n<p>_isMenuListPresented = value;<\/p>\n<p>RaisePropertyChanged(() =&gt; IsMenuListPresented);<\/p>\n<p>}<br \/>\n}<\/p>\n<p>private List&lt;Menu&gt; _menuItemList;<\/p>\n<p>public List&lt;Menu&gt; MenuItemList<\/p>\n<p>{<\/p>\n<p>get { return _menuItemList; }<\/p>\n<p>set<\/p>\n<p>{<\/p>\n<p>_menuItemList = value;<\/p>\n<p>RaisePropertyChanged(() =&gt; MenuItemList);<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>#endregion<\/p>\n<p>}<\/p>\n<p>public class Menu<\/p>\n<p>{<\/p>\n<p>public string Title { get; set; }<\/p>\n<p>public Type TargetType { get; set; }<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>Run the application.<\/p>\n<p>* You will get the following screen.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Looking for Top <a href=\"https:\/\/www.inwizards.com\/\">Software Development Company<\/a>? Consult Inwizards.\u00a0<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog we are sharing few insights about why Xamarin has become the most preferred choice for mobile app developers and step-by-step guide to create master details pages in Xamarin Forms. Mobile applications are on a rise! Xamarin forms<\/p>\n","protected":false},"author":1,"featured_media":841,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[1],"tags":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.inwizards.com\/blog\/wp-content\/uploads\/2018\/09\/maxresdefault.jpg?fit=1280%2C720&ssl=1","_links":{"self":[{"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/posts\/834"}],"collection":[{"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/comments?post=834"}],"version-history":[{"count":9,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/posts\/834\/revisions"}],"predecessor-version":[{"id":2821,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/posts\/834\/revisions\/2821"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/media\/841"}],"wp:attachment":[{"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/media?parent=834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/categories?post=834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inwizards.com\/blog\/wp-json\/wp\/v2\/tags?post=834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}