{"id":55000063,"date":"2016-12-01T00:00:00","date_gmt":"2020-03-27T19:23:27","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=63"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Abhaengige_Eigenschaften_per_Binding","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/","title":{"rendered":"Abh&auml;ngige Eigenschaften per Binding"},"content":{"rendered":"<p><b>Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh&auml;ngig von der &Auml;nderung anderer Eigenschaften ebenfalls &auml;ndern k&ouml;nnen. Dies gelingt, mitunter &uuml;ber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k&ouml;nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh&auml;lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False &uuml;bernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert &#8211; dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M&ouml;glichkeiten f&uuml;r den Ersatz von Triggern durch Binding auf.<\/b><\/p>\n<h2>Beispielprojekt<\/h2>\n<p>Wir verwenden hier wieder das Beispiel, das auch im Artikel <b>Trigger <\/b>zum Einsatz kam: Wir wollen also in Abh&auml;ngigkeit vom Zustand eines <b>CheckBox<\/b>-Elements drei Textfelder aktivieren\/deaktivieren. Der Aufbau der vier beteiligten Steuerelemente sieht, bevor wir die ben&ouml;tigten Bindungen hinzuf&uuml;gen, wie folgt aus (siehe Bild 1):<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_06\/pic_63_001.png\" alt=\"Abh&auml;ngigkeit per Binding realisieren\" width=\"499,6607\" height=\"176,9836\"\/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Abh&auml;ngigkeit per Binding realisieren<\/span><\/b><\/p>\n<pre>&lt;CheckBox x:Name=\"chkGeschaeftskunde\" Margin=\"5\" Grid.Column=\"1\" VerticalAlignment=\"Center\" \/&gt;\r\n&lt;TextBox x:Name=\"txtFirma\" Grid.Row=\"2\" Grid.Column=\"1\" Margin=\"5\" \/&gt;\r\n&lt;TextBox x:Name=\"txtVorname\" Grid.Row=\"3\" Grid.Column=\"1\" Margin=\"5\" \/&gt;\r\n&lt;TextBox x:Name=\"txtNachname\" Grid.Row=\"4\" Grid.Column=\"1\" Margin=\"5\" \/&gt;<\/pre>\n<h2>Binding f&uuml;r den gleichen Boolean-Wert<\/h2>\n<p>Ganz einfach ist die L&ouml;sung, wenn das &Auml;ndern einer Eigenschaft eines Elements eine Eigenschaft des anderen Elements mit dem gleichen Datentyp ausl&ouml;sen soll und die Werte der beiden Eigenschaften gleich sein sollen. Das ist bei uns der Fall, wenn wir das <b>CheckBox<\/b>-Element <b>chkGeschaeftskunde <\/b>und das <b>TextBox<\/b>-Element <b>txtFirma <\/b>betrachten: Wenn die Eigenschaft <b>Is-Checked <\/b>von <b>chkGesch&auml;ftskunde <\/b>den Wert <b>True <\/b>hat, soll auch die Eigenschaft <b>IsEnabled <\/b>von <b>txtFirma <\/b>den Wert <b>True <\/b>aufweisen und umgekehrt. Beide Attribute haben den Datentyp <b>Boolean<\/b>. In diesem Fall k&ouml;nnen wir den Wert der Eigenschaft <b>IsChecked <\/b>von <b>chkGeschaeftskunde <\/b>direkt per Binding der Eigenschaft <b>IsEnabled <\/b>von <b>txtFirma <\/b>zuweisen:<\/p>\n<pre>&lt;TextBox x:Name=\"txtFirma\" ... IsEnabled=\"{Binding ElementName=chkGeschaeftskunde, Path=IsChecked}\" \/&gt;<\/pre>\n<p>Wann immer der Benutzer nun das Kontrollk&auml;stchen mit einem Haken versieht, wird auch das Textfeld aktiviert.<\/p>\n<h2>Binding f&uuml;r negierte Boolean-Werte<\/h2>\n<p>Bei dem Kontrollk&auml;stchen und den beiden &uuml;brigen Textfeldern wird es etwas komplizierter: Wir wollen ja nicht den gleichen Wert zuweisen, sondern den negierten Wert &#8211; hat die Eigenschaft <b>IsChecked <\/b>von <b>chkGeschaeftskunde <\/b>den Wert <b>True<\/b>, soll <b>IsEnabled <\/b>von <b>txtVorname <\/b>und <b>txtNachname <\/b>den Wert <b>False <\/b>aufweisen und umgekehrt. In einem Binding k&ouml;nnen wir aber nicht einfach wie unter C# den Operator <b>Not <\/b>verwenden, um einen <b>Boolean<\/b>-Wert umzukehren. Hier ben&ouml;tigen wir einen Converter, der in Form einer eigenen Klasse mit zwei Methoden daherkommt.<\/p>\n<p>Ein Converter kann einfache Aufgaben &uuml;bernehmen wie etwa das Umwandeln von <b>True <\/b>in <b>False <\/b>und umgekehrt, aber auch komplexere Operationen durchf&uuml;hren. In diesem Fall wollen wir eine <b>Converter<\/b>-Klasse namens <b>BoolInvertConverter <\/b>erstellen, indem wir per <b>Strg + Umschalt + A <\/b>den Dialog <b>Neues Element hinzuf&uuml;gen <\/b>&ouml;ffnen, dort den Eintrag <b>Klasse <\/b>ausw&auml;hlen und den Namen <b>BoolInvertConverter.cs <\/b>angeben, bevor wir auf <b>Hinzuf&uuml;gen <\/b>klicken (siehe Bild 2). Nach dem Hinzuf&uuml;gen legen Sie in der Klasse noch einen Verweis auf einen Namespace an, der die gleich verwendete Schnittstelle <b>IValueConverter <\/b>nutzt:<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2016_06\/pic_63_002.png\" alt=\"Anlegen der Converter-Klasse \" width=\"649,559\" height=\"366,1\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Anlegen der Converter-Klasse <\/span><\/b><\/p>\n<pre>using System.Windows.Data;<\/pre>\n<p>F&uuml;r die Implentierung eines Converters gibt es bestimmte Regeln, die sich in Form einer Schnittstellendefinition niederschlagen. In der neu erstellten Klasse f&uuml;gen Sie nun also durch einen Doppelpunkt getrennt hinter dem Klassennamen die Schnittstelle <b>IValue-Converter <\/b>hinzu:<\/p>\n<pre>public class BoolInvertConverter : IValueConverter {\r\n}<\/pre>\n<p><b>IValueConverter <\/b>wird nun rot unterstrichen dargestellt, was daran liegt, dass wir die Member der Schnittstelle noch nicht implementiert haben. Das holen Sie am einfachsten nach, indem Sie mit der rechten Maustaste auf den Namen der Schnittstelle klicken, den Kontextmen&uuml;-Eintrag <b>Schnellaktionen und Refactorings&#8230; <\/b>ausw&auml;hlen und im nun erscheinenden Popup auf <b>Schnittstelle implementieren <\/b>klicken. Dies f&uuml;gt die folgenden beiden Methoden zur Klasse hinzu:<\/p>\n<pre>public object Convert(object value, Type targetType, object parameter, CultureInfo culture) {\r\n     throw new NotImplementedException();\r\n}\r\npublic object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) {\r\n     throw new NotImplementedException();\r\n}<\/pre>\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\/55000063\/\">\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\/55000063?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\/55000063\/\"\/>\n\t\t\t\t\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"b985401677\"\/>\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>Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh&auml;ngig von der &Auml;nderung anderer Eigenschaften ebenfalls &auml;ndern k&ouml;nnen. Dies gelingt, mitunter &uuml;ber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k&ouml;nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh&auml;lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False &uuml;bernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert &#8211; dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M&ouml;glichkeiten f&uuml;r den Ersatz von Triggern durch Binding auf.<\/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":[662016,66062016,44000023,44000003],"tags":[],"yst_prominent_words":[],"class_list":["post-55000063","post","type-post","status-publish","format-standard","hentry","category-662016","category-66062016","category-PowerApps","category-WPFGrundlagen"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.\" \/>\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\/Abhaengige_Eigenschaften_per_Binding\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\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=\"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler\" \/>\n\t\t<meta property=\"og:description\" content=\"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/\" \/>\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-03-27T19:23:27+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=\"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.\" \/>\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\\\/Abhaengige_Eigenschaften_per_Binding\\\/#blogposting\",\"name\":\"Abh\\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler\",\"headline\":\"Abh&auml;ngige Eigenschaften per Binding\",\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"..\\\/fileadmin\\\/_temp_\\\/2016_06\\\/pic_63_001.png\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#articleImage\"},\"datePublished\":\"2016-12-01T00:00:00+00:00\",\"dateModified\":\"-0001-11-30T00:00:00+00:00\",\"inLanguage\":\"de-DE\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#webpage\"},\"articleSection\":\"2016, 6\\\/2016, PowerApps, WPF-Grundlagen\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#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\\\/2016\\\/#listItem\",\"name\":\"2016\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/#listItem\",\"position\":2,\"name\":\"2016\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/6\\\/2016\\\/#listItem\",\"name\":\"6\\\/2016\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/6\\\/2016\\\/#listItem\",\"position\":3,\"name\":\"6\\\/2016\",\"item\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/6\\\/2016\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#listItem\",\"name\":\"Abh&auml;ngige Eigenschaften per Binding\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/#listItem\",\"name\":\"2016\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#listItem\",\"position\":4,\"name\":\"Abh&auml;ngige Eigenschaften per Binding\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/category\\\/2016\\\/6\\\/2016\\\/#listItem\",\"name\":\"6\\\/2016\"}}]},{\"@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\\\/Abhaengige_Eigenschaften_per_Binding\\\/#organizationLogo\",\"width\":664,\"height\":225},\"image\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#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\\\/Abhaengige_Eigenschaften_per_Binding\\\/#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\\\/Abhaengige_Eigenschaften_per_Binding\\\/#webpage\",\"url\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/\",\"name\":\"Abh\\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler\",\"description\":\"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\\u00e4ngig von der \\u00c4nderung anderer Eigenschaften ebenfalls \\u00e4ndern k\\u00f6nnen. Dies gelingt, mitunter \\u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \\u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\\u00f6glichkeiten f\\u00fcr den Ersatz von Triggern durch Binding auf.\",\"inLanguage\":\"de-DE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/Abhaengige_Eigenschaften_per_Binding\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/vbentwickler.de\\\/author\\\/andreminhorst-com\\\/#author\"},\"datePublished\":\"2016-12-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":"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler","description":"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.","canonical_url":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#blogposting","name":"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler","headline":"Abh&auml;ngige Eigenschaften per Binding","author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"publisher":{"@id":"https:\/\/vbentwickler.de\/#organization"},"image":{"@type":"ImageObject","url":"..\/fileadmin\/_temp_\/2016_06\/pic_63_001.png","@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#articleImage"},"datePublished":"2016-12-01T00:00:00+00:00","dateModified":"-0001-11-30T00:00:00+00:00","inLanguage":"de-DE","mainEntityOfPage":{"@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#webpage"},"isPartOf":{"@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#webpage"},"articleSection":"2016, 6\/2016, PowerApps, WPF-Grundlagen"},{"@type":"BreadcrumbList","@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#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\/2016\/#listItem","name":"2016"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/#listItem","position":2,"name":"2016","item":"https:\/\/vbentwickler.de\/category\/2016\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/6\/2016\/#listItem","name":"6\/2016"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/6\/2016\/#listItem","position":3,"name":"6\/2016","item":"https:\/\/vbentwickler.de\/category\/2016\/6\/2016\/","nextItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#listItem","name":"Abh&auml;ngige Eigenschaften per Binding"},"previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/#listItem","name":"2016"}},{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#listItem","position":4,"name":"Abh&auml;ngige Eigenschaften per Binding","previousItem":{"@type":"ListItem","@id":"https:\/\/vbentwickler.de\/category\/2016\/6\/2016\/#listItem","name":"6\/2016"}}]},{"@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\/Abhaengige_Eigenschaften_per_Binding\/#organizationLogo","width":664,"height":225},"image":{"@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#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\/Abhaengige_Eigenschaften_per_Binding\/#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\/Abhaengige_Eigenschaften_per_Binding\/#webpage","url":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/","name":"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler","description":"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.","inLanguage":"de-DE","isPartOf":{"@id":"https:\/\/vbentwickler.de\/#website"},"breadcrumb":{"@id":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/#breadcrumblist"},"author":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"creator":{"@id":"https:\/\/vbentwickler.de\/author\/andreminhorst-com\/#author"},"datePublished":"2016-12-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":"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler","og:description":"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.","og:url":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/","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-03-27T19:23:27+00:00","article:modified_time":"-001-11-30T00:00:00+00:00","twitter:card":"summary_large_image","twitter:title":"Abh\u00e4ngige Eigenschaften per Binding - Visual Basic Entwickler","twitter:description":"Im Artikel Trigger haben Sie erfahren, dass Sie Eigenschaften von Elementen abh\u00e4ngig von der \u00c4nderung anderer Eigenschaften ebenfalls \u00e4ndern k\u00f6nnen. Dies gelingt, mitunter \u00fcber kleine Umwege, auch mithilfe von Bindungen zwischen den Steuerelementen. So k\u00f6nnen Sie beispielsweise ganz einfach definieren, dass eine Eigenschaft den Wert True erh\u00e4lt, wenn eine Eigenschaft eines anderen Elements auch diese Eigenschaft annimmt. Soll hingegen der Wert False \u00fcbernommen werden, wenn die andere Eigenschaft True lautet, wird es kompliziert - dann kommt ein Converter ins Spiel. Dieser Artikel zeigt die M\u00f6glichkeiten f\u00fcr den Ersatz von Triggern durch Binding auf.","twitter:image":"https:\/\/datenbankentwickler.net\/wp-content\/uploads\/2022\/08\/cropped-header_vbe-1.png"},"aioseo_meta_data":{"post_id":"55000063","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 15:38:43","updated":"2026-05-16 08:19:19","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\/2016\/\" title=\"2016\">2016<\/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\/2016\/6\/2016\/\" title=\"6\/2016\">6\/2016<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tAbh\u00e4ngige Eigenschaften per Binding\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/vbentwickler.de"},{"label":"2016","link":"https:\/\/vbentwickler.de\/category\/2016\/"},{"label":"6\/2016","link":"https:\/\/vbentwickler.de\/category\/2016\/6\/2016\/"},{"label":"Abh&auml;ngige Eigenschaften per Binding","link":"https:\/\/vbentwickler.de\/Abhaengige_Eigenschaften_per_Binding\/"}],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000063","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=55000063"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000063\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000063"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}