{"id":55000241,"date":"2020-12-01T00:00:00","date_gmt":"2020-12-23T15:46:06","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=241"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Das_GridSplitterSteuerelement","status":"publish","type":"post","link":"https:\/\/vbentwickler.de\/Das_GridSplitterSteuerelement\/","title":{"rendered":"Das GridSplitter-Steuerelement"},"content":{"rendered":"<p><b>Das Grid-Steuerelement d&uuml;rfte Ihnen als Leser dieses Magazins bekannt sein &#8211; wir verwenden es sehr oft, um die Position von Steuerelementen wie Bezeichnungsfeldern, Textfeldern oder Schaltfl&auml;chen einzustellen. Im Zusammenhang mit dem Grid-Steuerelement m&uuml;ssen Sie ein weiteres Steuerelement unbedingt kennenlernen: das GridSplitter-Steuerelement. Dieses unterteilt das Grid zwischen zwei bestimmten Zeilen oder Spalten und bietet die M&ouml;glichkeit, dass Sie das Verh&auml;ltnis der H&ouml;he beziehungsweise Breite der Steuerelemente &uuml;ber\/unter beziehungsweise links\/rechts vom GridSplitter-Steuerelement einstellen k&ouml;nnen. Damit vergr&ouml;&szlig;ern Sie dann den jeweils ben&ouml;tigten Bereich.<\/b><\/p>\n<p>Vielleicht kennen Sie &auml;hnliche L&ouml;sungen von Access: Dort mussten Sie ein Rectangle-Steuerelement zwischen den zu vergr&ouml;&szlig;ernden\/verkleinernden Steuerelementen platzieren. Mit dem Ereignis <b>Bei Mausbewegung <\/b>wurde dann beim Ziehen des Rechtecks zu einer Seite die Position des Rechtecks ge&auml;ndert beziehungsweise die Gr&ouml;&szlig;e der Steuerelemente, die sich auf einer der beiden Seiten vom Rechteck befunden haben. Das Problem: Man musste die Gr&ouml;&szlig;e und Position jedes Steuerelements, das durch die Gr&ouml;&szlig;en&auml;nderung betroffen war, per Code einstellen.<\/p>\n<p><b>Vertikaler GridSplitter<\/b><\/p>\n<p>Die Variante, die Sie mit dem <b>GridSplitter<\/b>-Steuerelement kennenlernen, ist ungleich komfortabler. Sie setzt allerdings voraus, dass Sie die Steuerelemente in den Spalten und Zeilen eines <b>Grid<\/b>-Steuerelements organisiert haben. Das <b>GridSplitter<\/b>-Steuerelement platzieren Sie dabei in einer eigens daf&uuml;r vorgesehenen Spalte oder Zeile im Grid. Schauen wir uns das am Beispiel eines vertikalen GridSplitters an, der die Bereiche rechts und links vergr&ouml;&szlig;ern oder verkleinern soll &#8211; je nachdem, in welche Richtung Sie diesen bewegen. Der einfache Entwurf sieht wie in Bild 1 aus. <\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_06\/pic_241_001.png\" alt=\"Das GridSplitter-Steuerelement zwischen zwei Steuerelementen\" width=\"599,593\" height=\"364,1407\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 1: Das GridSplitter-Steuerelement zwischen zwei Steuerelementen<\/span><\/b><\/p>\n<p>Den entsprechenden XAML-Code finden Sie hier: Wir haben mit den Elementen <b>Grid.ColumnDefinitions <\/b>und <b>ColumnDefinition <\/b>drei Spalten in einem Grid definiert. Die Spalten links und rechts erhalten f&uuml;r die Eigenschaft <b>Width <\/b>den Wert <b>*<\/b>, was bedeutet, dass diese sich den Platz in der Breite aufteilen, der nicht von Spalten mit fest vorgegebener Breite eingenommen wird. Eine solche Spalte legen wir in der Mitte an und weisen ihr die Breite <b>10 <\/b>zu. Damit hat diese beim &Ouml;ffnen die Breite 10 und die beiden &auml;u&szlig;eren Spalten teilen sich den restlichen Platz auf.<\/p>\n<p>Der linken und rechten Spalte f&uuml;gen wir jeweils ein <b>Label<\/b>-Steuerelement zu, welche den kompletten Platz in den Spalten einnehmen. Der mittleren Spalte weisen wir ein <b>GridSplitter<\/b>-Steuerelement zu, das wir mit einem hellgrauen Hintergrund versehen und das durch den Wert <b>Stretch <\/b>f&uuml;r die Eigenschaft <b>HorizontalAlignment <\/b>die gesamte Breite der mittleren Spalte des Grids einnimmt. Au&szlig;erdem legen wir vorsichtshalber den Wert des Attributs <b>ResizeDirection <\/b>auf <b>Columns <\/b>fest:<\/p>\n<pre>&lt;Grid&gt;\r\n     &lt;Grid.ColumnDefinitions&gt;\r\n         &lt;ColumnDefinition Width=\"*\"&gt;&lt;\/ColumnDefinition&gt;\r\n         &lt;ColumnDefinition Width=\"10\"&gt;&lt;\/ColumnDefinition&gt;\r\n         &lt;ColumnDefinition Width=\"*\"&gt;&lt;\/ColumnDefinition&gt;\r\n     &lt;\/Grid.ColumnDefinitions&gt;\r\n     &lt;Label Grid.Column=\"0\" BorderBrush=\"Black\" BorderThickness=\"1\"&gt;Spalte 0&lt;\/Label&gt;\r\n     &lt;GridSplitter Grid.Column=\"1\" ResizeDirection=\"Columns\" Background=\"LightGray\" HorizontalAlignment=\"Stretch\"&gt;&lt;\/GridSplitter&gt;\r\n     &lt;Label Grid.Column=\"2\" BorderBrush=\"Black\" BorderThickness=\"1\"&gt;Spalte 1&lt;\/Label&gt;\r\n&lt;\/Grid&gt;<\/pre>\n<p>Starten wir das Projekt, k&ouml;nnen wir den Gridsplitter per Herunterdr&uuml;cken der linken Maustaste anfassen und durch Bewegen der Maus nach links oder rechts verschieben. Die Steuerelemente, die sich in der <b>Grid<\/b>-Spalte links und rechts davon befinden, werden dann entsprechend der Breite der jeweiligen Spalte angepasst (siehe Bild 2).<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_06\/pic_241_002.png\" alt=\"Einstellen der Gr&ouml;&szlig;e der Bereiche links und rechts vom vertikalen GridSplitter-Steuerelement\" width=\"599,593\" height=\"350,9562\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 2: Einstellen der Gr&ouml;&szlig;e der Bereiche links und rechts vom vertikalen GridSplitter-Steuerelement<\/span><\/b><\/p>\n<p><b>Horizontaler GridSplitter<\/b><\/p>\n<p>Auf &auml;hnliche Weise arbeiten wir mit einem <b>GridSplitter<\/b>-Steuerelement, mit dem wir das Grid in einen Teil &uuml;ber und einen Teil unter dem GridSplitter einteilen. Dazu stellen wir nun mehrere Zeilen her, von denen die mittlere das <b>GridSplitter<\/b>-Steuerelement aufnimmt:<\/p>\n<pre>&lt;Grid&gt;\r\n     &lt;Grid.RowDefinitions&gt;\r\n         &lt;RowDefinition Height=\"*\"&gt;&lt;\/RowDefinition&gt;\r\n         &lt;RowDefinition Height=\"10\"&gt;&lt;\/RowDefinition&gt;\r\n         &lt;RowDefinition Height=\"*\"&gt;&lt;\/RowDefinition&gt;\r\n     &lt;\/Grid.RowDefinitions&gt;\r\n     &lt;Label Grid.Row=\"0\" BorderBrush=\"Black\" BorderThickness=\"1\"&gt;Zeile 0&lt;\/Label&gt;\r\n     &lt;GridSplitter Grid.Row=\"1\" ResizeDirection=\"Rows\" Background=\"LightGray\" HorizontalAlignment=\"Stretch\"&gt;&lt;\/GridSplitter&gt;\r\n     &lt;Label Grid.Row=\"2\" BorderBrush=\"Black\" BorderThickness=\"1\"&gt;Zeile 1&lt;\/Label&gt;\r\n&lt;\/Grid&gt;<\/pre>\n<p>Wir brauchen an dem Beispiel gar nicht so viel zu &auml;ndern &#8211; wir legen statt des <b>Grid.ColumnDefinitions<\/b>-Elements ein <b>Grid.RowDefinitions<\/b>-Element an, ordnen diesen statt <b>ColumnDefinition<\/b>-Elementen <b>RowDefinition<\/b>-Elemente zu, die wir &uuml;berdies statt mit der Eigenschaft <b>Width <\/b>mit der Eigenschaft <b>Height <\/b>ausstatten. Die oberste und die unterste Zeile erhalten den Wert <b>* <\/b>f&uuml;r die H&ouml;he und die mittlere wieder den Wert <b>10<\/b>.<\/p>\n<p>Schlie&szlig;lich weisen wir die beiden Bezeichnungsfelder den Zeilen mit dem Index <b>0 <\/b>beziehungsweise <b>2 <\/b>und das <b>GridSplitter<\/b>-Element der Zeile mit dem Index <b>1<\/b> zu. Dieses statten wir au&szlig;erdem mit dem Wert <b>Rows <\/b>f&uuml;r das Attribut <b>ResizeDirection <\/b>aus. Damit erhalten wir den Entwurf aus Bild 3.<\/p>\n<p class=\"image\"><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2020_06\/pic_241_003.png\" alt=\"Entwurf des Grids mit dem horizontalen GridSplitter\" width=\"599,593\" height=\"359,566\" \/><\/p>\n<p><b><span style=\"color:darkgrey;\">Bild 3: Entwurf des Grids mit dem horizontalen GridSplitter<\/span><\/b><\/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\/55000241\/\">\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\/55000241?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<input type=\"hidden\" name=\"rcp_redirect\" value=\"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000241\/\"\/>\n\t\t\t\t<input type=\"hidden\" name=\"rcp_login_nonce\" value=\"2c6d4a5d32\"\/>\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>Das Grid-Steuerelement d&uuml;rfte Ihnen als Leser dieses Magazins bekannt sein &#8211; wir verwenden es sehr oft, um die Position von Steuerelementen wie Bezeichnungsfeldern, Textfeldern oder Schaltfl&auml;chen einzustellen. Im Zusammenhang mit dem Grid-Steuerelement m&uuml;ssen Sie ein weiteres Steuerelement unbedingt kennenlernen: das GridSplitter-Steuerelement. Dieses unterteilt das Grid zwischen zwei bestimmten Zeilen oder Spalten und bietet die M&ouml;glichkeit, dass Sie das Verh&auml;ltnis des H&ouml;he beziehungsweise Breite der Steuerelemente &uuml;ber\/unter beziehungsweise links\/rechts vom GridSplitter-Steuerelement einstellen k&ouml;nnen. Damit k&ouml;nnen Sie dann den jeweils ben&ouml;tigten Bereich vergr&ouml;&szlig;ern.<\/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":[662020,66062020,44000025,44000015],"tags":[],"yst_prominent_words":[],"class_list":["post-55000241","post","type-post","status-publish","format-standard","hentry","category-662020","category-66062020","category-VBAProgrammierung","category-WPFSteuerelemente"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000241","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=55000241"}],"version-history":[{"count":0,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/posts\/55000241\/revisions"}],"wp:attachment":[{"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/media?parent=55000241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/categories?post=55000241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/tags?post=55000241"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/vbentwickler.de\/data\/wp\/v2\/yst_prominent_words?post=55000241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}