{"id":37581,"date":"2024-11-01T09:58:42","date_gmt":"2024-11-01T09:58:42","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37581"},"modified":"2024-11-01T11:02:09","modified_gmt":"2024-11-01T11:02:09","slug":"uwp-development-advanced-xaml-elements","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37581\/","title":{"rendered":"UWP Development, Advanced XAML Elements"},"content":{"rendered":"<p>Many developers who have entered the field of UWP (Universal Windows Platform) development become accustomed to using basic XAML elements, but by understanding and utilizing advanced XAML elements, they can greatly enhance the quality of their apps and user experience. In this course, we will delve deeply into advanced XAML elements of UWP, providing example code as well.<\/p>\n<h2>Table of Contents<\/h2>\n<ol>\n<li><a href=\"#section1\">1. The Need for Advanced XAML Elements<\/a><\/li>\n<li><a href=\"#section2\">2. DataBinding and MVVM Pattern<\/a><\/li>\n<li><a href=\"#section3\">3. Styles and Resources<\/a><\/li>\n<li><a href=\"#section4\">4. Custom Controls<\/a><\/li>\n<li><a href=\"#section5\">5. Animations and Transitions<\/a><\/li>\n<li><a href=\"#section6\">6. Dynamic Layouts<\/a><\/li>\n<li><a href=\"#section7\">7. Examples of Advanced XAML Elements<\/a><\/li>\n<\/ol>\n<h2 id=\"section1\">1. The Need for Advanced XAML Elements<\/h2>\n<p>\nUsing advanced XAML elements is crucial for improving the functionality and user experience of an app beyond simple UI design. For example, by using DataBinding to synchronize data and the UI, you can reduce the amount of code and make maintenance easier, while creating reusable components through custom controls.\n<\/p>\n<h2 id=\"section2\">2. DataBinding and MVVM Pattern<\/h2>\n<p>\nDataBinding is an important method that helps connect XAML and C# code. The MVVM (Model-View-ViewModel) pattern allows for the development of more structured applications through the separation of data and UI. Here is an example applying the MVVM pattern.\n<\/p>\n<pre><code>&lt;Page\n    x:Class=\"UWPApp.MainPage\"\n    xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n    xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"&gt;\n\n    &lt;Grid&gt;\n        &lt;TextBox Text=\"{Binding UserInput, Mode=TwoWay}\" \/&gt;\n        &lt;Button Content=\"Submit\" Command=\"{Binding SubmitCommand}\" \/&gt;\n    &lt;\/Grid&gt;\n&lt;\/Page&gt;<\/code><\/pre>\n<h3>Setting DataContext<\/h3>\n<pre><code>public sealed partial class MainPage : Page\n{\n    public MainViewModel ViewModel { get; }\n\n    public MainPage()\n    {\n        this.InitializeComponent();\n        ViewModel = new MainViewModel();\n        this.DataContext = ViewModel;\n    }\n}<\/code><\/pre>\n<h3>ViewModel Class<\/h3>\n<pre><code>public class MainViewModel : INotifyPropertyChanged\n{\n    private string userInput;\n    public string UserInput\n    {\n        get { return userInput; }\n        set\n        {\n            userInput = value;\n            OnPropertyChanged();\n        }\n    }\n\n    public ICommand SubmitCommand { get; }\n\n    public MainViewModel()\n    {\n        SubmitCommand = new RelayCommand(OnSubmit);\n    }\n\n    private void OnSubmit()\n    {\n        \/\/ Submission logic\n    }\n\n    public event PropertyChangedEventHandler PropertyChanged;\n\n    protected void OnPropertyChanged([CallerMemberName] string propertyName = null)\n    {\n        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));\n    }\n}<\/code><\/pre>\n<h2 id=\"section3\">3. Styles and Resources<\/h2>\n<p>\nStyles are used to define the appearance of XAML elements. By using styles, you can reduce code duplication and maintain a unified design.\n<\/p>\n<pre><code>&lt;Page.Resources&gt;\n    &lt;Style TargetType=\"Button\"&gt;\n        &lt;Setter Property=\"Background\" Value=\"LightBlue\"\/&gt;\n        &lt;Setter Property=\"Foreground\" Value=\"White\"\/&gt;\n    &lt;\/Style&gt;\n&lt;\/Page.Resources&gt;<\/code><\/pre>\n<h2 id=\"section4\">4. Custom Controls<\/h2>\n<p>\nCustom controls are a way to create reusable UI components. This allows you to create controls with specific functionalities, maintaining consistency across the entire project.\n<\/p>\n<pre><code>&lt;UserControl\n    x:Class=\"UWPApp.MyCustomControl\"\n    xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n    xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"&gt;\n\n    &lt;Grid&gt;\n        &lt;TextBlock x:Name=\"DisplayText\" \/&gt;\n    &lt;\/Grid&gt;\n&lt;\/UserControl&gt;<\/code><\/pre>\n<h2 id=\"section5\">5. Animations and Transitions<\/h2>\n<p>\nIn UWP, animations are a powerful tool for enhancing user experience. You can easily implement animations using XAML.\n<\/p>\n<pre><code>&lt;Storyboard x:Name=\"MyStoryboard\"&gt;\n    &lt;DoubleAnimation\n        Storyboard.TargetName=\"MyButton\"\n        Storyboard.TargetProperty=\"Opacity\"\n        From=\"0.0\" To=\"1.0\" Duration=\"0:0:1\" \/&gt;\n&lt;\/Storyboard&gt;<\/code><\/pre>\n<h2 id=\"section6\">6. Dynamic Layouts<\/h2>\n<p>\nUWP supports dynamic layouts to adapt to various devices and screen sizes. You can build responsive designs utilizing Grid and StackPanel.\n<\/p>\n<pre><code>&lt;Grid&gt;\n    &lt;Grid.RowDefinitions&gt;\n        &lt;RowDefinition Height=\"Auto\"\/&gt;\n        &lt;RowDefinition Height=\"*\"\/&gt;\n    &lt;\/Grid.RowDefinitions&gt;\n\n    &lt;TextBlock Grid.Row=\"0\" Text=\"Header\" FontSize=\"24\"\/&gt;\n    &lt;ListView Grid.Row=\"1\"&gt;\n        &lt;ListView.ItemTemplate&gt;\n            &lt;DataTemplate&gt;\n                &lt;TextBlock Text=\"{Binding Name}\"\/&gt;\n            &lt;\/DataTemplate&gt;\n        &lt;\/ListView.ItemTemplate&gt;\n    &lt;\/ListView&gt;\n&lt;\/Grid&gt;<\/code><\/pre>\n<h2 id=\"section7\">7. Examples of Advanced XAML Elements<\/h2>\n<p>\nFinally, let&#8217;s look at an integrated example that utilizes the advanced XAML elements described above. In this example, we will create a simple TODO list app.\n<\/p>\n<pre><code>&lt;Page\n    x:Class=\"UWPApp.TodoPage\"\n    xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n    xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"&gt;\n\n    &lt;StackPanel&gt;\n        &lt;TextBox Text=\"{Binding NewTodo}\" \/&gt;\n        &lt;Button Content=\"Add\" Command=\"{Binding AddTodoCommand}\" \/&gt;\n        \n        &lt;ListBox ItemsSource=\"{Binding Todos}\"&gt;\n            &lt;ListBox.ItemTemplate&gt;\n                &lt;DataTemplate&gt;\n                    &lt;TextBlock Text=\"{Binding}\"\/&gt;\n                &lt;\/DataTemplate&gt;\n            &lt;\/ListBox.ItemTemplate&gt;\n        &lt;\/ListBox&gt;\n    &lt;\/StackPanel&gt;\n&lt;\/Page&gt;<\/code><\/pre>\n<p>In this way, UWP allows you to enhance the structure and design of your apps using a variety of advanced XAML elements. Based on the examples above, I hope you will find them helpful in developing practical UWP apps. I encourage you to keep learning new technologies and gaining experience.<\/p>\n<h2>Conclusion<\/h2>\n<p>\nAdvanced XAML elements play a very important role in UWP development. I hope that the knowledge gained from this course will further enhance your app development skills. If you have any additional questions or requests, please feel free to contact us.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many developers who have entered the field of UWP (Universal Windows Platform) development become accustomed to using basic XAML elements, but by understanding and utilizing advanced XAML elements, they can greatly enhance the quality of their apps and user experience. In this course, we will delve deeply into advanced XAML elements of UWP, providing example &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37581\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;UWP Development, Advanced XAML Elements&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[115],"tags":[],"class_list":["post-37581","post","type-post","status-publish","format-standard","hentry","category-uwp-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>UWP Development, Advanced XAML Elements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/37581\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UWP Development, Advanced XAML Elements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Many developers who have entered the field of UWP (Universal Windows Platform) development become accustomed to using basic XAML elements, but by understanding and utilizing advanced XAML elements, they can greatly enhance the quality of their apps and user experience. In this course, we will delve deeply into advanced XAML elements of UWP, providing example &hellip; \ub354 \ubcf4\uae30 &quot;UWP Development, Advanced XAML Elements&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37581\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:58:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:02:09+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37581\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37581\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"UWP Development, Advanced XAML Elements\",\"datePublished\":\"2024-11-01T09:58:42+00:00\",\"dateModified\":\"2024-11-01T11:02:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37581\/\"},\"wordCount\":414,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"UWP Programming\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37581\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37581\/\",\"name\":\"UWP Development, Advanced XAML Elements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:58:42+00:00\",\"dateModified\":\"2024-11-01T11:02:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37581\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37581\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37581\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"UWP Development, Advanced XAML Elements\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UWP Development, Advanced XAML Elements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/atmokpo.com\/w\/37581\/","og_locale":"ko_KR","og_type":"article","og_title":"UWP Development, Advanced XAML Elements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Many developers who have entered the field of UWP (Universal Windows Platform) development become accustomed to using basic XAML elements, but by understanding and utilizing advanced XAML elements, they can greatly enhance the quality of their apps and user experience. In this course, we will delve deeply into advanced XAML elements of UWP, providing example &hellip; \ub354 \ubcf4\uae30 \"UWP Development, Advanced XAML Elements\"","og_url":"https:\/\/atmokpo.com\/w\/37581\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:58:42+00:00","article_modified_time":"2024-11-01T11:02:09+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37581\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37581\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"UWP Development, Advanced XAML Elements","datePublished":"2024-11-01T09:58:42+00:00","dateModified":"2024-11-01T11:02:09+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37581\/"},"wordCount":414,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["UWP Programming"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37581\/","url":"https:\/\/atmokpo.com\/w\/37581\/","name":"UWP Development, Advanced XAML Elements - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:58:42+00:00","dateModified":"2024-11-01T11:02:09+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37581\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37581\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37581\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"UWP Development, Advanced XAML Elements"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=37581"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37581\/revisions"}],"predecessor-version":[{"id":37582,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37581\/revisions\/37582"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}