title: Textwrapping within Textblock within Togglebutton within ListBox ItemTemplate
body: <p>I'm trying to achieve a ToggleButton control template for listbox items. This is to be used in an application where the user can click on the listbox items to show a certain piece of functionality. </p>
  
  <p>The listbox item template is defined as follows:</p>
  
  <pre><code>    &lt;Style x:Key="ExampleListBoxItemStyle" TargetType="{x:Type ListBoxItem}"&gt;
          &lt;Setter Property="Template"&gt;
              &lt;Setter.Value&gt;
                  &lt;ControlTemplate&gt;
                      &lt;ToggleButton IsChecked="{Binding Path=IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}"
                                    HorizontalContentAlignment="Stretch" HorizontalAlignment="Stretch"&gt;
                          &lt;StackPanel Orientation="Vertical"&gt;
                              &lt;TextBlock x:Name="ExampleTitle" Grid.Row="0" Foreground="#333333" 
                                         FontFamily="pack://application:,,,/Resources/Fonts/#Neuropol Regular" 
                                         FontSize="16" Height="26" TextAlignment="Left" HorizontalAlignment="Left" 
                                         VerticalAlignment="Top" Text="{Binding ExampleDisplayName}"
                                         Margin="5"&gt;&lt;/TextBlock&gt;
                              &lt;TextBlock Grid.Row="1" Foreground="#333333" Margin="5,-5,5,3" HorizontalAlignment="Stretch" 
                                         TextAlignment="Left" FontFamily="Verdana" VerticalAlignment="Top" 
                                         TextWrapping="Wrap" Text="{Binding ExampleDescription}"/&gt;
                          &lt;/StackPanel&gt;
                      &lt;/ToggleButton&gt;
                  &lt;/ControlTemplate&gt;
              &lt;/Setter.Value&gt;
          &lt;/Setter&gt;
      &lt;/Style&gt;
  </code></pre>
  
  <p>and the listbox is defined as </p>
  
  <pre><code>        &lt;ListBox x:Name="_examplesListBox" 
                   SelectionMode="Single"
                   BorderBrush="Transparent"
                   Background="Transparent"
                   ItemsSource="{Binding AllExamples}" 
                   ItemContainerStyle="{StaticResource ExampleListBoxItemStyle}"
                   SelectedItem="{Binding SelectedExample, Mode=TwoWay}"/&gt;
  </code></pre>
  
  <p>Here I have two textblocks, one bound to ExampleDisplayName, the other bound to ExampleDescription. The effect I am trying to achieve is to get the second textblock (description) to wrap around, constrained by the available space. </p>
  
  <p>This is what I'm getting now:</p>
  
  <p><img src="https://i.stack.imgur.com/NZih6.png" alt="SciChart Beta Examples Listbox Styling"></p>
  
  <p>What I'd like is for the second line showing example description to wrap based on the size of the listbox. When the application starts the listbox should auto-size to the first line + margin. </p>
  
  <p>Any suggestions?</p>