2012-04-15 7 views
0

Aus irgendeinem Grund, wenn ich zwei Expander nebeneinander setze, scheint der erste Expander hinter dem zweiten Expander zu stehen und erweitert den Expander nicht daneben? Kann ich das im folgenden Code beheben?Zwei Expander nebeneinander werden das letztere nicht erweitern

<Grid> 
    <StackPanel Orientation="Horizontal" Margin="0,0,195,0"> 
     <StackPanel.Triggers> 
      <EventTrigger RoutedEvent="Expander.Expanded" SourceName="expander"> 
       <EventTrigger.Actions> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimation From="0" To="1.2" Duration="0:0:0.35" Storyboard.TargetName="listBox" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleX)"/>         
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger.Actions> 
      </EventTrigger> 
     </StackPanel.Triggers> 
     <Expander x:Name="expander" Expanded="expander_Expanded" ExpandDirection="Right" Width="29"> 
       <ListBox x:Name="listBox"> 
       <ListBoxItem Content="ListBoxItem" VerticalAlignment="Top" /> 
       <ListBoxItem Content="ListBoxItem" VerticalAlignment="Top" /> 
       <ListBoxItem Content="ListBoxItem" VerticalAlignment="Top" /> 
       <ListBox.LayoutTransform> 
        <ScaleTransform ScaleX="0" ScaleY="1"/> 
       </ListBox.LayoutTransform> 
      </ListBox> 
     </Expander> 

    <StackPanel Orientation="Horizontal" Margin="0,0,342,0" Width="318"> 
      <StackPanel.Triggers> 
       <EventTrigger RoutedEvent="Expander.Expanded" SourceName="expander1"> 
        <EventTrigger.Actions> 
         <BeginStoryboard> 
          <Storyboard> 
           <DoubleAnimation From="0" To="1.2" Duration="0:0:0.35" Storyboard.TargetName="listBox1" Storyboard.TargetProperty="(FrameworkElement.LayoutTransform).(ScaleTransform.ScaleX)"/> 
          </Storyboard> 
         </BeginStoryboard> 
        </EventTrigger.Actions> 
       </EventTrigger> 
      </StackPanel.Triggers> 
      <Expander ExpandDirection="Right" Name="expander1" Width="29"> 
      <ListBox Name="listBox1"> 
       <ListBox.LayoutTransform> 
        <ScaleTransform ScaleX="0" ScaleY="1" /> 
       </ListBox.LayoutTransform> 
       <ListBoxItem Content="ListBoxItem" VerticalAlignment="Top" /> 
       <ListBoxItem Content="ListBoxItem" VerticalAlignment="Top" /> 
       <ListBoxItem Content="ListBoxItem" VerticalAlignment="Top" /> 
      </ListBox> 
     </Expander> 
    </StackPanel> 
    </StackPanel> 
</Grid> 

+0

Keine irrelevanten Tags mehr verwenden, dies ist weder * über * XML noch HTML. –

+0

Ein Teil des Problems kann die Verwendung von zwei Stackpanels sein - warum nicht nur eines? –

Antwort

1

Width="29" in

<Expander x:Name="expander" 
      Expanded="expander_Expanded" 
      ExpandDirection="Right" 
      Width="29"> 

entfernen und alles in Ordnung sein wird.

+0

gibt es eine Möglichkeit, auch die Größe des Expanders zu erhöhen? –

+0

Warum? Die Größe des Expanders hängt vom Inhalt ab. Es gibt verschiedene Werte für den minimierten und erweiterten Zustand, wie Sie in der Eigenschaft "Expander.ActualWidth" sehen können. – LPL

+0

Es tut mir leid, die Größe des Expanders im geschlossenen Zustand. –

Verwandte Themen