title: Best way to make a part of a Grid invisible
body: <p>I want to bind the visibility of a part of a Grid to a Property in the ViewModel. I came up with a solution, where I put another Grid inside the Grid that contains the Controls that should be collapsed. The nasty part of this is, that there are redundant ColumnDefinitions:  </p>
  
  <pre><code>&lt;Grid&gt;
      &lt;Grid.RowDefinitions&gt;
          ...
      &lt;/Grid.RowDefinitions&gt;
      &lt;Grid.ColumnDefinitions&gt;
          &lt;ColumnDefinition Width="20"/&gt;
          &lt;ColumnDefinition Width="110"/&gt;
          &lt;ColumnDefinition Width="20"/&gt;
          &lt;ColumnDefinition Width="*"/&gt;
          &lt;ColumnDefinition Width="20"/&gt;
          &lt;ColumnDefinition Width="140"/&gt;
          &lt;ColumnDefinition Width="20"/&gt;
          &lt;ColumnDefinition Width="140"/&gt;
          &lt;ColumnDefinition Width="20"/&gt;
      &lt;/Grid.ColumnDefinitions&gt;
      ...
      &lt;Grid Grid.Row="4" Grid.ColumnSpan="100" Visibility="{Binding VisibilityProperty}"&gt;
          &lt;Grid.RowDefinitions&gt;
              ... (some more rows)
          &lt;/Grid.RowDefinitions&gt;
          &lt;Grid.ColumnDefinitions&gt;
              &lt;ColumnDefinition Width="20"/&gt;
              &lt;ColumnDefinition Width="110"/&gt;
              &lt;ColumnDefinition Width="20"/&gt;
              &lt;ColumnDefinition Width="*"/&gt;
              &lt;ColumnDefinition Width="20"/&gt;
              &lt;ColumnDefinition Width="140"/&gt;
              &lt;ColumnDefinition Width="20"/&gt;
              &lt;ColumnDefinition Width="140"/&gt;
              &lt;ColumnDefinition Width="20"/&gt;
          &lt;/Grid.ColumnDefinitions&gt;
          ...
      &lt;/Grid&gt;
  </code></pre>
  
  <p>Another solution that came to my mind was binding the Visibility of each Control, resulting in much more Bindings than in the above shown way.  </p>
  
  <p>My question is: Is there any better way to hide a part of a Grid? I'm especially curious if it is possible to reuse the ColumnDefinitions of the parent Grid.</p>