2012-04-15 6 views
0

По какой-то причине, когда я установил два расширителя рядом друг с другом, первый расширитель, по-видимому, находится за вторым и не расширит расширитель рядом с ним? Есть ли способ исправить это в коде ниже?Два расширителя рядом друг с другом не будут расширять последние

<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

Остановите использование ненужных тегов, пожалуйста, это не * о * XML и HTML. –

+0

. Часть проблемы может быть связана с использованием двух стековых панелей - почему бы просто не использовать их? –

ответ

1

Удалить Width="29" в

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

и все будет в порядке.

+0

есть ли способ увеличить размер расширителя? –

+0

Почему? Размер Expander зависит от контента. Существуют разные значения для сложенного и расширенного состояния, как вы можете видеть в свойстве Expander.ActualWidth. – LPL

+0

Не жаль, что размер расширителя в закрытом состоянии. –

Смежные вопросы