title: MenuItem does not stretch vertically in its menu
body: <p>I want the MenuItem to have a height of 24, like the menu. Currently it has 18.
  I can add Height="24" to the MenuItem but I don't want to do that, and if I do, then the text won't center vertically. Why are my VerticalAlignment and VerticalContentAlignment not picked up?
  Other properties of the style are picked up, so I know that the style is applied.</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;Grid Background="Orange"&gt;
      &lt;Grid.RowDefinitions&gt;
          &lt;RowDefinition Height="24"/&gt;
          &lt;RowDefinition Height="*"/&gt;
      &lt;/Grid.RowDefinitions&gt;
      &lt;Menu Grid.Row="0"&gt;
          &lt;MenuItem Header="Project" /&gt;
      &lt;/Menu&gt;
      &lt;Grid Grid.Row="1"&gt;
          &lt;Border BorderBrush="Orange" BorderThickness="2" Margin="2" CornerRadius="8,8,8,8"&gt;
          &lt;/Border&gt;
      &lt;/Grid&gt;
  &lt;/Grid&gt;
  
      &lt;Style TargetType="MenuItem"&gt;
          &lt;Setter Property="VerticalAlignment" Value="Stretch" /&gt;
          &lt;Setter Property="VerticalContentAlignment" Value="Center" /&gt;
      &lt;/Style&gt;
  </code></pre>
  
  <p>EDIT I tried the solution of 'nit' and moved it to a style like this:</p>
  
  <pre><code>&lt;Style TargetType="MenuItem"&gt;
          &lt;Setter Property="FontSize" Value="11" /&gt;
          &lt;Setter Property="FontFamily" Value="Verdana" /&gt;
          &lt;Setter Property="Padding" Value="0" /&gt;
          &lt;Setter Property="Margin" Value="5,0,10,0" /&gt;
          &lt;!-- variation on 'nit''s proposal --&gt;
          &lt;Setter Property="Height" Value="{Binding RelativeSource={RelativeSource Self}, Path=Parent.ActualHeight}"/&gt;
          &lt;Setter Property="HeaderTemplate"&gt;
              &lt;Setter.Value&gt;
                  &lt;DataTemplate&gt;
                      &lt;!-- variation on 'nit''s proposal --&gt;
                      &lt;TextBlock VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource AncestorType=MenuItem}, Path=Header}"/&gt;
                  &lt;/DataTemplate&gt;
              &lt;/Setter.Value&gt;
          &lt;/Setter&gt;
      &lt;/Style&gt;
  </code></pre>
  
  <p>It seems to work in a window with e.g.</p>
  
  <pre><code>&lt;Menu Grid.Row="0" Name="MainMenu" Height="24"&gt;
     &lt;MenuItem Header="Project"&gt;
         &lt;MenuItem Header="Open... Ctrl+O"&gt;
             &lt;MenuItem.Icon&gt;
                &lt;Image Width="20" Height="20" Source="/Resources/openfile.jpg" /&gt;
             &lt;/MenuItem.Icon&gt;
          &lt;/MenuItem&gt; &lt;/MenuItem&gt; ...etcetera
  </code></pre>
  
  <p>It feels a bit strange to use a DataTemplate for appearance only, but a ControlTemplate breaks the    built-in MenuItem functionality. Is this a correct way to handle the issue?</p>