{"id":37739,"date":"2024-11-01T10:00:02","date_gmt":"2024-11-01T10:00:02","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=37739"},"modified":"2024-11-01T11:03:55","modified_gmt":"2024-11-01T11:03:55","slug":"wpf-development-add-control","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/37739\/","title":{"rendered":"WPF Development, Add Control"},"content":{"rendered":"<p>Windows Presentation Foundation (WPF) is a technology provided for creating rich user interfaces in the .NET framework. Using WPF, you can integrate graphics, text, video, and more to build appealing user interfaces. This article details how to add controls in WPF and practice the concepts of WPF through actual example code.<\/p>\n<h2>What is WPF?<\/h2>\n<p>WPF supports defining UI using XAML (Extensible Application Markup Language) and writing business logic in .NET languages like C#. The main advantages of WPF are as follows:<\/p>\n<ul>\n<li><strong>Data Binding:<\/strong> Allows binding between the UI and business data.<\/li>\n<li><strong>Templates and Styles:<\/strong> Provides flexible customization of the visual representation of various UI elements.<\/li>\n<li><strong>3D Graphics Support:<\/strong> WPF supports 3D graphics, enabling the creation of more diverse UIs.<\/li>\n<li><strong>Direct Hardware Acceleration:<\/strong> WPF leverages GPU acceleration for better performance.<\/li>\n<\/ul>\n<h2>Adding Controls in WPF<\/h2>\n<p>To create a WPF application, you need to use a development environment like Visual Studio. The following steps show how to create a simple WPF application and add various basic controls.<\/p>\n<h3>1. Create a WPF Project<\/h3>\n<ol>\n<li>Open Visual Studio and click &#8220;Create a new project.&#8221;<\/li>\n<li>Select &#8220;WPF App (.NET Core)&#8221; from the template list and click &#8220;Next.&#8221;<\/li>\n<li>After setting the project name and path, click &#8220;Create.&#8221;<\/li>\n<\/ol>\n<h3>2. Understanding the XAML File<\/h3>\n<p>The UI of a WPF application is defined in XAML files. The generated project typically includes App.xaml and MainWindow.xaml files. The MainWindow.xaml file contains the basic layout where various controls can be added.<\/p>\n<pre><code class=\"language-xml\">\n&lt;Window x:Class=\"MyWpfApp.MainWindow\"\n        xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n        xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n        Title=\"MainWindow\" Height=\"350\" Width=\"525\"&gt;\n    &lt;Grid&gt;\n\n    &lt;\/Grid&gt;\n&lt;\/Window&gt;\n<\/code><\/pre>\n<h3>3. Adding Basic Controls<\/h3>\n<p>Now it&#8217;s time to add various controls inside the Grid layout. Commonly used basic controls in WPF include <strong>Button<\/strong>, <strong>TextBox<\/strong>, <strong>Label<\/strong>, and <strong>ComboBox<\/strong>.<\/p>\n<h4>Adding a Button Control<\/h4>\n<pre><code class=\"language-xml\">\n&lt;Button Name=\"myButton\" Content=\"Click Me\" Width=\"100\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Click=\"MyButton_Click\"\/&gt;\n<\/code><\/pre>\n<h4>Adding a TextBox Control<\/h4>\n<pre><code class=\"language-xml\">\n&lt;TextBox Name=\"myTextBox\" Width=\"200\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,50,0,0\"\/&gt;\n<\/code><\/pre>\n<h4>Adding a Label Control<\/h4>\n<pre><code class=\"language-xml\">\n&lt;Label Content=\"Enter your name:\" Width=\"120\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,100,0,0\"\/&gt;\n<\/code><\/pre>\n<h4>Adding a ComboBox Control<\/h4>\n<pre><code class=\"language-xml\">\n&lt;ComboBox Name=\"myComboBox\" Width=\"120\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,150,0,0\"&gt;\n    &lt;ComboBoxItem Content=\"Option 1\"\/&gt;\n    &lt;ComboBoxItem Content=\"Option 2\"\/&gt;\n    &lt;ComboBoxItem Content=\"Option 3\"\/&gt;\n&lt;\/ComboBox&gt;\n<\/code><\/pre>\n<h3>4. Full Code of the XAML File<\/h3>\n<p>Here is the complete code of the MainWindow.xaml file including all the added controls:<\/p>\n<pre><code class=\"language-xml\">\n&lt;Window x:Class=\"MyWpfApp.MainWindow\"\n        xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n        xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n        Title=\"MainWindow\" Height=\"350\" Width=\"525\"&gt;\n    &lt;Grid&gt;\n        &lt;Label Content=\"Enter your name:\" Width=\"120\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,100,0,0\"\/&gt;\n        &lt;TextBox Name=\"myTextBox\" Width=\"200\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,50,0,0\"\/&gt;\n        &lt;Button Name=\"myButton\" Content=\"Click Me\" Width=\"100\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Click=\"MyButton_Click\"\/&gt;\n        &lt;ComboBox Name=\"myComboBox\" Width=\"120\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,150,0,0\"&gt;\n            &lt;ComboBoxItem Content=\"Option 1\"\/&gt;\n            &lt;ComboBoxItem Content=\"Option 2\"\/&gt;\n            &lt;ComboBoxItem Content=\"Option 3\"\/&gt;\n        &lt;\/ComboBox&gt;\n    &lt;\/Grid&gt;\n&lt;\/Window&gt;\n<\/code><\/pre>\n<h3>5. Implementing C# Code Behind<\/h3>\n<p>Let&#8217;s now add C# code to handle the button click event. Open the MainWindow.xaml.cs file and add code that displays the name when the button is clicked.<\/p>\n<pre><code class=\"language-csharp\">\nusing System.Windows;\n\nnamespace MyWpfApp\n{\n    public partial class MainWindow : Window\n    {\n        public MainWindow()\n        {\n            InitializeComponent();\n        }\n\n        private void MyButton_Click(object sender, RoutedEventArgs e)\n        {\n            string name = myTextBox.Text;\n            if (!string.IsNullOrEmpty(name))\n            {\n                MessageBox.Show(\"Hello, \" + name + \"!\");\n            }\n            else\n            {\n                MessageBox.Show(\"Please enter your name.\");\n            }\n        }\n    }\n}\n<\/code><\/pre>\n<h3>6. Running the Application<\/h3>\n<p>Now press the F5 key to run the application. Enter a name in the input box and click the &#8220;Click Me&#8221; button, and a welcoming message will display with the entered name. This is an example of basic UI interaction in WPF.<\/p>\n<h3>7. Adding Various Controls<\/h3>\n<p>In this section, we will look at several additional controls available in WPF. This section explains how to add DataGrid, ListBox, CheckBox, and RadioButton.<\/p>\n<h4>Adding a DataGrid<\/h4>\n<p>The DataGrid is a control that is useful for displaying and editing large amounts of data. Let&#8217;s add a DataGrid as follows:<\/p>\n<pre><code class=\"language-xml\">\n&lt;DataGrid Name=\"myDataGrid\" AutoGenerateColumns=\"False\" Width=\"400\" Height=\"200\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,200,0,0\"&gt;\n    &lt;DataGrid.Columns&gt;\n        &lt;DataGridTextColumn Header=\"Name\" Binding=\"{Binding Name}\"\/&gt;\n        &lt;DataGridTextColumn Header=\"Age\" Binding=\"{Binding Age}\"\/&gt;\n    &lt;\/DataGrid.Columns&gt;\n&lt;\/DataGrid&gt;\n<\/code><\/pre>\n<h4>Adding a ListBox<\/h4>\n<p>The ListBox displays a list of items and allows selection.<\/p>\n<pre><code class=\"language-xml\">\n&lt;ListBox Name=\"myListBox\" Width=\"200\" Height=\"100\" HorizontalAlignment=\"Right\" VerticalAlignment=\"Top\"&gt;\n    &lt;ListBoxItem Content=\"Item 1\"\/&gt;\n    &lt;ListBoxItem Content=\"Item 2\"\/&gt;\n    &lt;ListBoxItem Content=\"Item 3\"\/&gt;\n&lt;\/ListBox&gt;\n<\/code><\/pre>\n<h4>Adding a CheckBox<\/h4>\n<p>The CheckBox provides an option that users can select or deselect.<\/p>\n<pre><code class=\"language-xml\">\n&lt;CheckBox Name=\"myCheckBox\" Content=\"Check me\" Width=\"100\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,320,0,0\"\/&gt;\n<\/code><\/pre>\n<h4>Adding a RadioButton<\/h4>\n<p>The RadioButton allows users to select only one option among multiple choices.<\/p>\n<pre><code class=\"language-xml\">\n&lt;StackPanel Orientation=\"Vertical\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\"&gt;\n    &lt;RadioButton Name=\"option1\" Content=\"Option 1\" GroupName=\"Options\"\/&gt;\n    &lt;RadioButton Name=\"option2\" Content=\"Option 2\" GroupName=\"Options\"\/&gt;\n&lt;\/StackPanel&gt;\n<\/code><\/pre>\n<h3>8. Updated Full Code of the XAML File<\/h3>\n<p>The complete code of the MainWindow.xaml file including all the discussed controls is as follows:<\/p>\n<pre><code class=\"language-xml\">\n&lt;Window x:Class=\"MyWpfApp.MainWindow\"\n        xmlns=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\/presentation\"\n        xmlns:x=\"http:\/\/schemas.microsoft.com\/winfx\/2006\/xaml\"\n        Title=\"MainWindow\" Height=\"400\" Width=\"525\"&gt;\n    &lt;Grid&gt;\n        &lt;Label Content=\"Enter your name:\" Width=\"120\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,10,0,0\"\/&gt;\n        &lt;TextBox Name=\"myTextBox\" Width=\"200\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,50,0,0\"\/&gt;\n        &lt;Button Name=\"myButton\" Content=\"Click Me\" Width=\"100\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Click=\"MyButton_Click\"\/&gt;\n\n        &lt;ComboBox Name=\"myComboBox\" Width=\"120\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,100,0,0\"&gt;\n            &lt;ComboBoxItem Content=\"Option 1\"\/&gt;\n            &lt;ComboBoxItem Content=\"Option 2\"\/&gt;\n            &lt;ComboBoxItem Content=\"Option 3\"\/&gt;\n        &lt;\/ComboBox&gt;\n\n        &lt;DataGrid Name=\"myDataGrid\" AutoGenerateColumns=\"False\" Width=\"400\" Height=\"200\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,200,0,0\"&gt;\n            &lt;DataGrid.Columns&gt;\n                &lt;DataGridTextColumn Header=\"Name\" Binding=\"{Binding Name}\"\/&gt;\n                &lt;DataGridTextColumn Header=\"Age\" Binding=\"{Binding Age}\"\/&gt;\n            &lt;\/DataGrid.Columns&gt;\n        &lt;\/DataGrid&gt;\n\n        &lt;ListBox Name=\"myListBox\" Width=\"200\" Height=\"100\" HorizontalAlignment=\"Right\" VerticalAlignment=\"Top\"&gt;\n            &lt;ListBoxItem Content=\"Item 1\"\/&gt;\n            &lt;ListBoxItem Content=\"Item 2\"\/&gt;\n            &lt;ListBoxItem Content=\"Item 3\"\/&gt;\n        &lt;\/ListBox&gt;\n\n        &lt;CheckBox Name=\"myCheckBox\" Content=\"Check me\" Width=\"100\" Height=\"30\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\" Margin=\"0,320,0,0\"\/&gt;\n\n        &lt;StackPanel Orientation=\"Vertical\" HorizontalAlignment=\"Left\" VerticalAlignment=\"Top\"&gt;\n            &lt;RadioButton Name=\"option1\" Content=\"Option 1\" GroupName=\"Options\"\/&gt;\n            &lt;RadioButton Name=\"option2\" Content=\"Option 2\" GroupName=\"Options\"\/&gt;\n        &lt;\/StackPanel&gt;\n    &lt;\/Grid&gt;\n&lt;\/Window&gt;\n<\/code><\/pre>\n<h3>9. Data Binding<\/h3>\n<p>One of the powerful features of WPF is data binding. Data binding allows you to connect the UI with data, and when the data changes, the UI is automatically updated.<\/p>\n<h4>Creating a Model Class<\/h4>\n<p>First, let\u2019s create a model class. Create a new class and set its name to <strong>Person<\/strong>.<\/p>\n<pre><code class=\"language-csharp\">\npublic class Person\n{\n    public string Name { get; set; }\n    public int Age { get; set; }\n}\n<\/code><\/pre>\n<h4>Setting up the ViewModel<\/h4>\n<p>The ViewModel provides the data to be displayed on the UI. In the MainWindow.xaml.cs file, we will use ObservableCollection to manage the data.<\/p>\n<pre><code class=\"language-csharp\">\nusing System.Collections.ObjectModel;\n\nnamespace MyWpfApp\n{\n    public partial class MainWindow : Window\n    {\n        public ObservableCollection&lt;Person&gt; People { get; set; }\n\n        public MainWindow()\n        {\n            InitializeComponent();\n            \n            People = new ObservableCollection&lt;Person&gt;();\n            People.Add(new Person { Name = \"Alice\", Age = 28 });\n            People.Add(new Person { Name = \"Bob\", Age = 32 });\n\n            myDataGrid.ItemsSource = People;\n        }\n\n        private void MyButton_Click(object sender, RoutedEventArgs e)\n        {\n            string name = myTextBox.Text;\n            if (!string.IsNullOrEmpty(name))\n            {\n                People.Add(new Person { Name = name, Age = 0 });\n                myTextBox.Clear();\n            }\n        }\n    }\n}\n<\/code><\/pre>\n<h3>10. Updating Data in the DataGrid<\/h3>\n<p>Now users can modify the data in the DataGrid, and the changes will be automatically reflected in the ObservableCollection. In the example, the user will add names to the list.<\/p>\n<h3>Conclusion<\/h3>\n<p>This post covered how to add and use various controls in WPF. We addressed basic UI components, data binding, and data management in the data grid, highlighting how to utilize the powerful features of WPF.<\/p>\n<h3>Next Steps<\/h3>\n<p>If you want to delve deeper into WPF, I recommend studying styles, templates, the MVVM pattern, asynchronous programming, and how to connect to databases. WPF has various possibilities, and you can create more attractive applications depending on your imagination.<\/p>\n<p>In the next post, I will introduce how to create custom controls in WPF. Thank you!<\/p>\n<footer>\n<p>This article was written by [Your Name].<\/p>\n<\/footer>\n","protected":false},"excerpt":{"rendered":"<p>Windows Presentation Foundation (WPF) is a technology provided for creating rich user interfaces in the .NET framework. Using WPF, you can integrate graphics, text, video, and more to build appealing user interfaces. This article details how to add controls in WPF and practice the concepts of WPF through actual example code. What is WPF? WPF &hellip; <a href=\"https:\/\/atmokpo.com\/w\/37739\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;WPF Development, Add Control&#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":[117],"tags":[],"class_list":["post-37739","post","type-post","status-publish","format-standard","hentry","category-wpf-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WPF Development, Add Control - \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\/37739\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WPF Development, Add Control - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Windows Presentation Foundation (WPF) is a technology provided for creating rich user interfaces in the .NET framework. Using WPF, you can integrate graphics, text, video, and more to build appealing user interfaces. This article details how to add controls in WPF and practice the concepts of WPF through actual example code. What is WPF? WPF &hellip; \ub354 \ubcf4\uae30 &quot;WPF Development, Add Control&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/37739\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T10:00:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:03:55+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=\"7\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/37739\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37739\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"WPF Development, Add Control\",\"datePublished\":\"2024-11-01T10:00:02+00:00\",\"dateModified\":\"2024-11-01T11:03:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37739\/\"},\"wordCount\":720,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"WPF Programming\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/37739\/\",\"url\":\"https:\/\/atmokpo.com\/w\/37739\/\",\"name\":\"WPF Development, Add Control - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T10:00:02+00:00\",\"dateModified\":\"2024-11-01T11:03:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/37739\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/37739\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/37739\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WPF Development, Add Control\"}]},{\"@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":"WPF Development, Add Control - \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\/37739\/","og_locale":"ko_KR","og_type":"article","og_title":"WPF Development, Add Control - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Windows Presentation Foundation (WPF) is a technology provided for creating rich user interfaces in the .NET framework. Using WPF, you can integrate graphics, text, video, and more to build appealing user interfaces. This article details how to add controls in WPF and practice the concepts of WPF through actual example code. What is WPF? WPF &hellip; \ub354 \ubcf4\uae30 \"WPF Development, Add Control\"","og_url":"https:\/\/atmokpo.com\/w\/37739\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T10:00:02+00:00","article_modified_time":"2024-11-01T11:03:55+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":"7\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/37739\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/37739\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"WPF Development, Add Control","datePublished":"2024-11-01T10:00:02+00:00","dateModified":"2024-11-01T11:03:55+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/37739\/"},"wordCount":720,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["WPF Programming"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/37739\/","url":"https:\/\/atmokpo.com\/w\/37739\/","name":"WPF Development, Add Control - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T10:00:02+00:00","dateModified":"2024-11-01T11:03:55+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/37739\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/37739\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/37739\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"WPF Development, Add Control"}]},{"@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\/37739","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=37739"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37739\/revisions"}],"predecessor-version":[{"id":37740,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/37739\/revisions\/37740"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=37739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=37739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=37739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}