{"id":55000214,"date":"2020-04-01T00:00:00","date_gmt":"2020-08-25T08:45:59","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=214"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Kontextmenues_mit_WPF","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/","title":{"rendered":"Kontextmen&uuml;s mit WPF"},"content":{"rendered":"<p><b>Wer einmal Kontextmen&uuml;s unter Access programmiert hat, wei&szlig;, wie viel Arbeit das ist. Unter WPF k&ouml;nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen&uuml;s programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen&uuml; f&uuml;r ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf&uuml;gen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k&ouml;nnen und wie Sie die Eintr&auml;ge aktivieren und deaktivieren k&ouml;nnen. Au&szlig;erdem erfahren Sie nat&uuml;rlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen&uuml;s aufgerufen wird.<\/b><\/p>\n<p><b>Das ContextMenu-Element<\/b><\/p>\n<p>Kontextmen&uuml;s bilden wir unter WPF mit dem <b>ContextMenu<\/b>-Element ab. Dieses k&ouml;nnen Sie zu beliebigen Elementen hinzuf&uuml;gen &#8211; also zum Beispiel zu einem Fenster, einer Seite oder einem dort enthaltenen Steuer-element.<\/p>\n<p>Im einfachsten Fall weisen wir direkt einem <b>Grid<\/b>-Element ein Kontextmen&uuml; zu. Der WPF-Code f&uuml;r das <b>Grid<\/b>-Element sieht dann wie folgt aus:<\/p>\n<pre>&lt;Grid&gt;\r\n     &lt;Grid.ContextMenu&gt;\r\n         &lt;ContextMenu&gt;\r\n             &lt;MenuItem Header=\"Meldung anzeigen\" Click=\"MenuItem_Click\"\/&gt;\r\n         &lt;\/ContextMenu&gt;\r\n     &lt;\/Grid.ContextMenu&gt;\r\n&lt;\/Grid&gt;<\/pre>\n<p>Wer denkt, dass nun beim Rechtsklick auf das <b>Grid<\/b>-Element ein Kontextmen&uuml; erscheint, irrt sich: Es geschieht nichts. Und wir haben sichergestellt, dass das Grid sich &uuml;ber das gesamte &uuml;bergeordnete <b>Window<\/b>-Element erstreckt. Der Clou ist: Jedes Element, das ein Kontextmen&uuml; anzeigen soll, muss einen Hintergrund besitzen.<\/p>\n<p>Das <b>Grid<\/b>-Element ist schlicht ein Rahmen ohne Inhalt, also k&ouml;nnen Sie darin auch kein Kontextmen&uuml; anzeigen. Das l&auml;sst sich allerdings leicht &auml;ndern, indem wir dem <b>Grid<\/b>-Element einen Hintergrund zuweisen. Und der darf interessanterweise auch transparent sein. Wir &auml;ndern das <b>Grid<\/b>-Element also wie folgt:<\/p>\n<pre>&lt;Grid Background=\"Transparent\"&gt;<\/pre>\n<p>Danach erscheint beim Rechtsklick das Kontextmen&uuml; wie in Bild 1. Zusammengefasst: Wir ben&ouml;tigen ein Property-Element (also eine Eigenschaft, die nicht als Attribut angegeben wird, sondern als untergeordnetes Element) in der Form <b><Elementtyp>.ContextMenu<\/b>, darin ein <b>ContextMenu<\/b>-Element und darin ein oder mehrere <b>MenuItem<\/b>-Elemente. Mit der Eigenschaft <b>Header <\/b>legen wir den Text des Men&uuml;eintrags fest, mit der <b>Click<\/b>-Eigenschaft die Ereignismethode, die beim Anklicken des Eintrags aufgerufen werden soll.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_214_001.png\" alt=\"Das erste Kontextmen&uuml;, hier f&uuml;r ein Grid-Element\" width=\"349,7625\" height=\"133,5737\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Das erste Kontextmen&uuml;, hier f&uuml;r ein Grid-Element<\/span><\/b><\/p>\n<p>In unserem Fall wollen wir einfach eine Meldung anzeigen und gestalten die Methode wie folgt:<\/p>\n<pre><span style=\"color:blue;\">Private Sub <\/span>MenuItem_Click(sender<span style=\"color:blue;\"> As Object<\/span>, e<span style=\"color:blue;\"> As <\/span>RoutedEventArgs)\r\n     MessageBox.Show(\"Meldung per Kontextmen&uuml;\")\r\n<span style=\"color:blue;\">End Sub<\/span><\/pre>\n<p><b>Mehrere Kontextmen&uuml;-Eintr&auml;ge<\/b><\/p>\n<p>Wollen Sie mehrere Kontextmen&uuml;-Eintr&auml;ge anzeigen, f&uuml;gen Sie einfach die gew&uuml;nschten Elemente unter dem bereits vorhandenen <b>MenuItem <\/b>ein:<\/p>\n<pre>&lt;ContextMenu&gt;\r\n     &lt;MenuItem Header=\"Meldung anzeigen\" Click=\"MenuItem_Click\"\/&gt;\r\n     &lt;MenuItem Header=\"Noch ein Eintrag\" Click=\"MenuItem_Click\"\/&gt;\r\n     &lt;MenuItem Header=\"Letzter Eintrag\" Click=\"MenuItem_Click\"\/&gt;\r\n&lt;\/ContextMenu&gt;<\/pre>\n<p>Bild 2 zeigt das Ergebnis.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_214_002.png\" alt=\"Kontextmen&uuml; mit drei Eintr&auml;gen\" width=\"299,7964\" height=\"159,0224\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Kontextmen&uuml; mit drei Eintr&auml;gen<\/span><\/b><\/p>\n<p><b>Untermen&uuml;s<\/b><\/p>\n<p>Wenn Sie Kontextmen&uuml;-Eintr&auml;ge unterhalb eines der Eintr&auml;ge ben&ouml;tigen, f&uuml;gen Sie einfach weitere <b>MenuItem<\/b>-Elemente unterhalb eines der <b>Menu-Item<\/b>-Elemente der ersten Ebene ein. Das Ergebnis finden Sie in Bild 3.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_214_003.png\" alt=\"Kontextmen&uuml; mit Untermen&uuml;-Eintr&auml;gen\" width=\"499,6607\" height=\"194,8417\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Kontextmen&uuml; mit Untermen&uuml;-Eintr&auml;gen<\/span><\/b><\/p>\n<p>Dem <b>MenuItem<\/b>-Element mit den untergeordneten Elementen k&ouml;nnen Sie zwar das <b>Click<\/b>-Attribut zuordnen, das Ereignis wird jedoch nicht ausgel&ouml;st &#8211; der Mausklick bewirkt lediglich das Anzeigen der untergeordneten Elemente:<\/p>\n<pre>&lt;ContextMenu&gt;\r\n     &lt;MenuItem Header=\"Meldung anzeigen\" Click=\"MenuItem_Click\"\/&gt;\r\n     &lt;MenuItem Header=\"Noch ein Eintrag\" Click=\"MenuItem_Click\"\/&gt;\r\n     &lt;MenuItem Header=\"Letzter Eintrag\" Click=\"MenuItem_Click\"\/&gt;\r\n     &lt;MenuItem Header=\"Untermen&uuml;\"&gt;\r\n         &lt;MenuItem Header=\"Erster Untermen&uuml;-Eintrag\"&gt;&lt;\/MenuItem&gt;\r\n         &lt;MenuItem Header=\"Zweiter Untermen&uuml;-Eintrag\"&gt;&lt;\/MenuItem&gt;\r\n     &lt;\/MenuItem&gt;\r\n&lt;\/ContextMenu&gt;<\/pre>\n<p><b>Click-Ereignisse anlegen<\/b><\/p>\n<p>Wenn Sie mehrere Kontextmen&uuml;-Eintr&auml;ge in einem Kontextmen&uuml; anlegen, haben Sie zwei M&ouml;glichkeiten f&uuml;r das Anlegen der dadurch ausgel&ouml;sten <b>Click<\/b>-Ereignisse: Entweder Sie vergeben jedem Kontextmen&uuml;-Eintrag einen eigenen Namen, so wie wir es sonst auch machen. Dann legen sie f&uuml;r jedes Kontextmen&uuml;-Element eine eigene Ereignismethode an. Den Namen vergeben Sie wie &uuml;blich bei Elementen unter WPF &#8211; wir verwenden das Pr&auml;fix <b>itm<\/b>:<\/p>\n<pre>&lt;MenuItem x:Name=\"itmMeldung\" Header=\"Meldung anzeigen\" Click=\"ItmMeldung_Click\"\/&gt;<\/pre>\n<p>Die Ereignismethode erh&auml;lt dementsprechend den Namen <b>ItmMeldung_Click<\/b>. Wenn Sie keine Namen f&uuml;r die Kontextmen&uuml;-Eintr&auml;ge vergeben wollen, m&uuml;ssen Sie zumindest Werte mit unterschiedlichen Namen f&uuml;r das <b>Click<\/b>-Attribut festlegen und entsprechend je ein Ereignis f&uuml;r jeden Kontextmen&uuml;-Eintrag festlegen.<\/p>\n<p><b>Trennstriche<\/b><\/p>\n<p>Gegebenenfalls m&ouml;chten Sie zwei Gruppen von Kontextmen&uuml;-Eintr&auml;gen durch einen Trennstrich voneinander abgrenzen. Diesen Trennstrich realisieren wir mit einem Separator-Element (siehe Bild 4):<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_214_004.png\" alt=\"Kontextmen&uuml; mit Trennstrich\" width=\"349,7625\" height=\"217,7394\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 4: Kontextmen&uuml; mit Trennstrich<\/span><\/b><\/p>\n<pre>...\r\n&lt;MenuItem Header=\"Letzter Eintrag\" Click=\"MenuItem_Click\"\/&gt;\r\n&lt;Separator\/&gt;\r\n&lt;MenuItem Header=\"Untermen&uuml;\" Click=\"MenuItem_Click\"&gt;\r\n...<\/pre>\n<p><b>Kontextmen&uuml;s f&uuml;r andere Steuer-elemente<\/b><\/p>\n<p>Bisher haben wir alle Kontextmen&uuml;s direkt dem <b>Grid<\/b>-Element hinzugef&uuml;gt. Kontextmen&uuml;s f&uuml;r andere Steuer-elemente f&uuml;gen Sie auf genau die gleiche Weise hinzu &#8211; nur, dass Sie in den meisten F&auml;llen nicht mehr das <b>Background<\/b>-Attribut des jeweiligen Elements anpassen m&uuml;ssen. Hier soll das Kontextmen&uuml; beim Rechtsklick auf ein Textfeld angezeigt werden (siehe Bild 5):<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_214_005.png\" alt=\"Kontextmen&uuml; f&uuml;r ein Textfeld\" width=\"449,6946\" height=\"186,1858\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 5: Kontextmen&uuml; f&uuml;r ein Textfeld<\/span><\/b><\/p>\n<pre>&lt;TextBox Text=\"Klicken f&uuml;r Kontextmen&uuml;\"&gt;\r\n     &lt;TextBox.ContextMenu&gt;\r\n         &lt;ContextMenu&gt;\r\n             &lt;MenuItem Header=\"&Auml;pfel\"&gt;&lt;\/MenuItem&gt;\r\n             &lt;MenuItem Header=\"Bananen\"&gt;&lt;\/MenuItem&gt;\r\n             &lt;MenuItem Header=\"Zitronen\"&gt;&lt;\/MenuItem&gt;\r\n             &lt;MenuItem Header=\"Mehr Obst\"&gt;\r\n                 &lt;MenuItem Header=\"Orange\"&gt;&lt;\/MenuItem&gt;\r\n                 &lt;MenuItem Header=\"Ananas\"&gt;&lt;\/MenuItem&gt;\r\n             &lt;\/MenuItem&gt;\r\n         &lt;\/ContextMenu&gt;\r\n     &lt;\/TextBox.ContextMenu&gt;\r\n&lt;\/TextBox&gt;<\/pre>\n<p><b>Icons im Kontextmen&uuml;<\/b><\/p>\n<p>Bisher sehen die Elemente etwas trist aus. Es w&auml;re doch sch&ouml;n, wenn wir mit passenden Icons ein wenig Farbe und Abwechslung hineinbringen k&ouml;nnten.<\/p>\n<p>Auch dazu gibt es ein passendes Attribut &#8211; aber zuerst m&uuml;ssen Sie die Icons, die angezeigt werden sollen, zum Projekt hinzuf&uuml;gen. Wir f&uuml;gen diese in der Regel in ein Unterverzeichnis namens <b>Images <\/b>ein (siehe Bild 6).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_02\/pic_214_006.png\" alt=\"Bilddateien f&uuml;r die Kontextmen&uuml;-Eintr&auml;ge\" width=\"349,7625\" height=\"328,1953\" \/><\/p>\n<div class=\"rcp_restricted\"><p><span style=\"color: #ff0000\">M&ouml;chten Sie weiterlesen? Dann l&ouml;sen Sie Ihr Ticket!<\/span><br \/>\n<span style=\"color: #ff0000\">Hier geht es zur Bestellung des Jahresabonnements des Magazins <strong>Visual Basic Entwickler<\/strong>:<\/span><br \/>\n<span style=\"color: #ff0000\"><a style=\"color: #ff0000\" href=\"https:\/\/shop.minhorst.com\/magazine\/363\/visual-basic-entwickler-jahresabonnement?c=77\">Zur Bestellung ...<\/a><\/span><br \/>\n<span style=\"color: #ff0000\">Danach greifen Sie sofort auf <strong>alle rund 200 Artikel<\/strong> unseres Angebots zu - auch auf diesen hier!<\/span><br \/>\n<span style=\"color: #000000\">Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:<\/span><\/p>\n<\/div>\n\n\t\n\t<form id=\"rcp_login_form\"  class=\"rcp_form\" method=\"POST\" action=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000214\/\">\n\n\t\t\n\t\t<fieldset class=\"rcp_login_data\">\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_login\">Username or Email<\/label>\n\t\t\t\t<input name=\"rcp_user_login\" id=\"rcp_user_login\" class=\"required\" type=\"text\"\/>\n\t\t\t<\/p>\n\t\t\t<p>\n\t\t\t\t<label for=\"rcp_user_pass\">Password<\/label>\n\t\t\t\t<input name=\"rcp_user_pass\" id=\"rcp_user_pass\" class=\"required\" type=\"password\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t\t<p>\n\t\t\t\t<input type=\"checkbox\" name=\"rcp_user_remember\" id=\"rcp_user_remember\" value=\"1\"\/>\n\t\t\t\t<label for=\"rcp_user_remember\">Remember me<\/label>\n\t\t\t<\/p>\n\t\t\t<p class=\"rcp_lost_password\"><a href=\"\/data\/wp\/v2\/posts\/55000214?rcp_action=lostpassword\"><\/a><\/p>\n\t\t\t<p>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_action\" value=\"login\"\/>\n\t\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000214\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"1f90a62148\"\/>\n\t\t\t\t<input id=\"rcp_login_submit\" class=\"rcp-button\" type=\"submit\" value=\"Login\"\/>\n\t\t\t<\/p>\n\t\t\t\t\t<\/fieldset>\n\n\t\t\n\t<\/form>\n<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer einmal Kontextmen&uuml;s unter Access programmiert hat, wei&szlig;, wieviel Arbeit das ist. Unter WPF k&ouml;nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen&uuml;s programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen&uuml; f&uuml;r ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf&uuml;gen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k&ouml;nnen und wie Sie die Eintr&auml;ge aktivieren und deaktivieren k&ouml;nnen. Au&szlig;erdem erfahren Sie nat&uuml;rlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen&uuml;s aufgerufen werden.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022020,662020,44000035,44000015],"tags":[],"yst_prominent_words":[],"class_list":["post-55000214","post","type-post","status-publish","format-standard","hentry","category-66022020","category-662020","category-COMDLLs_programmieren","category-WPFSteuerelemente"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Andr\u00e9 Minhorst\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-08-25T08:45:59+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"-001-11-30T00:00:00+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#blogposting\",\"name\":\"Kontextmen\\u00fcs mit WPF - Visual Basic Entwickler\",\"headline\":\"Kontextmen&uuml;s mit WPF\",\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"..\\\/fileadmin\\\/_temp_\\\/2020_02\\\/pic_214_001.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#articleImage\"},\"datePublished\":\"2020-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#webpage\"},\"articleSection\":\"2\\\/2020, 2020, COM-DLLs programmieren, WPF-Steuerelemente\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vbentwickler.de\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/#listItem\",\"name\":\"2020\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/#listItem\",\"position\":2,\"name\":\"2020\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/2\\\/2020\\\/#listItem\",\"name\":\"2\\\/2020\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/2\\\/2020\\\/#listItem\",\"position\":3,\"name\":\"2\\\/2020\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/2\\\/2020\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#listItem\",\"name\":\"Kontextmen&uuml;s mit WPF\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/#listItem\",\"name\":\"2020\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#listItem\",\"position\":4,\"name\":\"Kontextmen&uuml;s mit WPF\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2020\\\/2\\\/2020\\\/#listItem\",\"name\":\"2\\\/2020\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/cropped-header_vbe-1.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/\",\"name\":\"Andr\\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Andr\\u00e9 Minhorst\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/\",\"name\":\"Kontextmen\\u00fcs mit WPF - Visual Basic Entwickler\",\"description\":\"Wer einmal Kontextmen\\u00fcs unter Access programmiert hat, wei\\u00df, wieviel Arbeit das ist. Unter WPF k\\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\\u00fc f\\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\\u00f6nnen und wie Sie die Eintr\\u00e4ge aktivieren und deaktivieren k\\u00f6nnen. Au\\u00dferdem erfahren Sie nat\\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\\u00fcs aufgerufen werden.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Kontextmenues_mit_WPF\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2020-04-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/\",\"name\":\"Datenbankentwickler\",\"description\":\"Das Magazin f\\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.\",\"inLanguage\":\"de-DE\",\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler","description":"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.","canonical_url":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#blogposting","name":"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler","headline":"Kontextmen&uuml;s mit WPF","author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"},"image":{"@type":"ImageObject","url":"..\/fileadmin\/_temp_\/2020_02\/pic_214_001.png","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#articleImage"},"datePublished":"2020-04-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#webpage"},"articleSection":"2\/2020, 2020, COM-DLLs programmieren, WPF-Steuerelemente"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","position":1,"name":"Home","item":"https:\/\/vbentwickler.de","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2020\/#listItem","name":"2020"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2020\/#listItem","position":2,"name":"2020","item":"https:\/\/vbentwickler.de\/category\/2020\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2020\/2\/2020\/#listItem","name":"2\/2020"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2020\/2\/2020\/#listItem","position":3,"name":"2\/2020","item":"https:\/\/vbentwickler.de\/category\/2020\/2\/2020\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#listItem","name":"Kontextmen&uuml;s mit WPF"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2020\/#listItem","name":"2020"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#listItem","position":4,"name":"Kontextmen&uuml;s mit WPF","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2020\/2\/2020\/#listItem","name":"2\/2020"}}]},{"@type":"Organization","@id":"https:\/\/vbentwickler.de\/#organization","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","url":"https:\/\/vbentwickler.de\/","logo":{"@type":"ImageObject","url":"https:\/\/vbentwickler.de\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author","url":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","width":96,"height":96,"caption":"Andr\u00e9 Minhorst"}},{"@type":"WebPage","@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#webpage","url":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/","name":"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler","description":"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2020-04-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00"},{"@type":"WebSite","@id":"https:\/\/vbentwickler.de\/#website","url":"https:\/\/vbentwickler.de\/","name":"Datenbankentwickler","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","inLanguage":"de-DE","publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"}}]},"og:locale":"de_DE","og:site_name":"Visual Basic Entwickler - Das Magazin f\u00fcr Datenbankentwickler auf Basis von Visual Studio und Co.","og:type":"article","og:title":"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler","og:description":"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.","og:url":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/","og:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","og:image:secure_url":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png","article:published_time":"2020-08-25T08:45:59+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"Kontextmen\u00fcs mit WPF - Visual Basic Entwickler","twitter:description":"Wer einmal Kontextmen\u00fcs unter Access programmiert hat, wei\u00df, wieviel Arbeit das ist. Unter WPF k\u00f6nnte das anders sein. Ob das der Fall ist und wie wir dort Kontextmen\u00fcs programmieren, zeigt dieser Artikel. Dabei beleuchten wir, wie Sie ein Kontextmen\u00fc f\u00fcr ein bestimmtes Element erzeugen, wie Sie Befehle hinzuf\u00fcgen, diese mit Icons ausstatten, welche Steuer-elemente Sie darin unterbringen k\u00f6nnen und wie Sie die Eintr\u00e4ge aktivieren und deaktivieren k\u00f6nnen. Au\u00dferdem erfahren Sie nat\u00fcrlich, wo Sie den Code unterbringen, der durch die Befehle von Kontextmen\u00fcs aufgerufen werden.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000214","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2024-01-30 16:03:27","updated":"2026-05-16 08:43:01","ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2020\/\" title=\"2020\">2020<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/vbentwickler.de\/category\/2020\/2\/2020\/\" title=\"2\/2020\">2\/2020<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tKontextmen\u00fcs mit WPF\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de"},{"label":"2020","link":"https:\/\/vbentwickler.de\/category\/2020\/"},{"label":"2\/2020","link":"https:\/\/vbentwickler.de\/category\/2020\/2\/2020\/"},{"label":"Kontextmen&uuml;s mit WPF","link":"https:\/\/vbentwickler.de\/Kontextmenues_mit_WPF\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/comments?post=55000214"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000214\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000214"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}