{"id":5863,"date":"2024-03-03T17:48:31","date_gmt":"2024-03-03T16:48:31","guid":{"rendered":"https:\/\/ekiwi.de\/?p=5863"},"modified":"2024-03-03T17:48:31","modified_gmt":"2024-03-03T16:48:31","slug":"c-wpf-initializecomponent-existiert-nicht-im-aktuellen-kontext","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/5863\/c-wpf-initializecomponent-existiert-nicht-im-aktuellen-kontext\/","title":{"rendered":"C# \/ WPF: InitializeComponent existiert nicht im aktuellen Kontext"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/5863\/c-wpf-initializecomponent-existiert-nicht-im-aktuellen-kontext\/#Error_bei_InitializeComponent\" >Error bei InitializeComponent()<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/5863\/c-wpf-initializecomponent-existiert-nicht-im-aktuellen-kontext\/#Loesung\" >L\u00f6sung<\/a><\/li><\/ul><\/nav><\/div>\n<p>Ein Problem was mich gut und gern ein paar Stunden gekostet hat in Visual Studio beim Programmieren einer WPF-Anwendung mit C# ist, dass die Methode <em>InitializeComponent()<\/em> im Konstruktur des CodeBehinds vom MainWindows oder aber auch in anderen Dialogen eine Fehlermeldung gebracht hat.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Error_bei_InitializeComponent\"><\/span>Error bei InitializeComponent()<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Es handelt sich dabei um folgende Fehlermeldung:<\/p>\n<blockquote><p>Der Name &#8218;InitializeComponent&#8216; existiert nicht im aktuellen Kontext<\/p><\/blockquote>\n<p>oder typischerweise als englische Fehlermeldung:<\/p>\n<blockquote><p>CS0103: The name &#8218;InitializeComponent&#8216; does not exist in the current context<\/p><\/blockquote>\n<figure id=\"attachment_5868\" aria-describedby=\"caption-attachment-5868\" style=\"width: 584px\" class=\"wp-caption aligncenter\"><a href=\"\/wp-content\/uploads\/2024\/03\/the-name-initializecomponent-does-not-exist-in-the-current-context.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5868\" src=\"\/wp-content\/uploads\/2024\/03\/the-name-initializecomponent-does-not-exist-in-the-current-context.jpg\" alt=\"Screenshot von der Fehlermeldung, dass der Name InitializeComponent nicht existiert im akuellen Kontext.\" width=\"584\" height=\"207\" srcset=\"\/wp-content\/uploads\/2024\/03\/the-name-initializecomponent-does-not-exist-in-the-current-context.jpg 584w, \/wp-content\/uploads\/2024\/03\/the-name-initializecomponent-does-not-exist-in-the-current-context-300x106.jpg 300w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><figcaption id=\"caption-attachment-5868\" class=\"wp-caption-text\">Error\/Warnung CS0103 f\u00fcr InitializeComponent<\/figcaption><\/figure>\n<p>Trotz dieser Fehlermeldung war die Anwendung kompilierbar, zeigte aber ein seltsames Verhalten. U.a. beim Programmieren wurden im CodeBehind neu eingef\u00fcgte UserControls nicht mehr erkannt.<\/p>\n<p>Recherchiert man im Internet, st\u00f6\u00dft man auf viele Forenbeitr\u00e4ge, dass dieser Fehler bereits andere Programmierer viele Stunden gekostet hat und bis hin zur Verzweiflung gebracht hat.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Loesung\"><\/span>L\u00f6sung<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Man kann ebenfalls lesen, dass es mehrere vielf\u00e4ltige Ursachen f\u00fcr das Problem geben kann. Ein Grund kann sein, dass der Namespace im CodeBehind nicht mit dem eingebundenen Namespace in der XAML-Datei \u00fcbereinstimmt. Die m\u00fcssen also gleich sein:<\/p>\n<p><strong>Beispiel:<\/strong><\/p>\n<p><em>CodeBehind:<\/em> <span style=\"color: #0000ff;\">namespace<\/span> MyNamespace{}<\/p>\n<p><em>XAML:<\/em> <span style=\"color: #ff0000;\">x:Class<\/span><span style=\"color: #0000ff;\">=&#8220;MyNamespace.MainWindow&#8220;<\/span><\/p>\n<p>Das konnte ich in meinem Fall ausschlie\u00dfen.<\/p>\n<p>Eine andere M\u00f6glichkeit zum Ausprobieren ist, den <em>obj<\/em> &#8211; Ordner in der Solution zu l\u00f6schen und <a href=\"https:\/\/ekiwi.de\/index.php\/4656\/c-anzahl-vorkommen-eines-strings-in-einem-anderen-string\/\" title=\"C# Anzahl\/Vorkommen eines Strings in einem anderen String\">Visual Studio<\/a> einmal zu schlie\u00dfen und neu zu starten. Danach ein <em>Rebuild<\/em> der Solution machen. Aber auch das hat in meinem Fall nicht geholfen.<\/p>\n<p>Bei mir lag anscheinend das Problem in den Build-Einstellungen f\u00fcr die XAML-Datei. Bei Custom Tool stand &#8222;<em>MSBuild:Compile<\/em>&#8220; drin.<\/p>\n<figure id=\"attachment_5866\" aria-describedby=\"caption-attachment-5866\" style=\"width: 527px\" class=\"wp-caption aligncenter\"><a href=\"\/wp-content\/uploads\/2024\/03\/xaml-build-settings-before.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5866\" src=\"\/wp-content\/uploads\/2024\/03\/xaml-build-settings-before.jpg\" alt=\"Screenshot der Seiteneigenschaften von der XAML-Datei vor der Behebung des Fehlers\" width=\"527\" height=\"334\" srcset=\"\/wp-content\/uploads\/2024\/03\/xaml-build-settings-before.jpg 527w, \/wp-content\/uploads\/2024\/03\/xaml-build-settings-before-300x190.jpg 300w\" sizes=\"auto, (max-width: 527px) 100vw, 527px\" \/><\/a><figcaption id=\"caption-attachment-5866\" class=\"wp-caption-text\">Seiteneigenschaften der XAML-Datei mit Fehlermeldung<\/figcaption><\/figure>\n<p>Ich habe die Eigenschaft &#8222;<em>Copy to Output Directory<\/em>&#8220; auf &#8222;<strong><em>Do not copy<\/em><\/strong>&#8220; gesetzt und als <em>Custom Tool<\/em> habe ich den <strong><em>XamlIntelliSenseFileGenerator<\/em> <\/strong>eingetragen.<\/p>\n<figure id=\"attachment_5864\" aria-describedby=\"caption-attachment-5864\" style=\"width: 535px\" class=\"wp-caption aligncenter\"><a href=\"\/wp-content\/uploads\/2024\/03\/solution-change-xaml-file-properties.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-5864\" src=\"\/wp-content\/uploads\/2024\/03\/solution-change-xaml-file-properties.jpg\" alt=\"Screenshot der Page Properties von der XAML-Datei ohne der Fehlermeldung f\u00fcr InitializeComponent\" width=\"535\" height=\"420\" srcset=\"\/wp-content\/uploads\/2024\/03\/solution-change-xaml-file-properties.jpg 535w, \/wp-content\/uploads\/2024\/03\/solution-change-xaml-file-properties-300x236.jpg 300w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/><\/a><figcaption id=\"caption-attachment-5864\" class=\"wp-caption-text\">Seiteneigenschaften der XAML-Datei ohne Fehlermeldung<\/figcaption><\/figure>\n<p>Auf mehr oder weniger magische Weise funktioniert es so und die oben genannte Fehlermeldung zu InitializeComponent verschwindet. Eine wirkliche gesicherte Ursachenerkl\u00e4rung habe ich daf\u00fcr nicht. Aber ich denke, dass MSBuild ggf. nicht so richtig geeignet ist zum Kompilieren von XAML-Dateien oder nicht unterscheiden kann so richtig zwischen WindowsForms und XAML-Dateien. Deswegen also besser einen XAML-Compiler direkt verwenden.<\/p>","protected":false},"excerpt":{"rendered":"<p>Ein Problem was mich gut und gern ein paar Stunden gekostet hat in Visual Studio beim Programmieren einer WPF-Anwendung mit<\/p>\n","protected":false},"author":2,"featured_media":5726,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[190,1181,1182,136,559,191,682],"class_list":["post-5863","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programmierung","tag-c","tag-codebehind","tag-error","tag-programmieren","tag-programming","tag-visual-studio","tag-xaml"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/5863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=5863"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/5863\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/5726"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=5863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=5863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=5863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}