2009-09-15 2 views
0

Итак, у меня есть сетка внутри списка. Цель состоит в том, чтобы, когда выбран listboxitem, я хочу, чтобы сетка отображалась, когда выбранный элемент расширялся, чтобы отобразить более подробную информацию. Я установил триггер стиля для этого, и он отлично работает, за исключением одного: стили меток и текстовых блоков не используются в сетке.WPF Collapsed Grid not Styling

Я предполагаю, что это имеет какое-то отношение к состоянию по умолчанию, когда состояние listboxitem сворачивается, поэтому wpf пропускает стили, я надеялся, что он включит их при выборе, но это не так. Если я использую Style = "{StaticResource Mystyle}" на каждом ярлыке/текстовом блоке, он отлично стирается, кажется, что он не делает унаследованную магию стиля, как это происходит с видимыми сетками в другом месте приложения. См. Код ниже, метки не отображаются жирным шрифтом или чем-либо, когда появляется сетка.

  <Style TargetType="{x:Type Grid}" x:Key="ListBoxItemCollapseGrid"> 
      <Style.Triggers> 
       <DataTrigger Binding="{Binding 
             Path=IsSelected, 
             RelativeSource= 
             { 
              RelativeSource 
              Mode=FindAncestor, 
              AncestorType={x:Type ListBoxItem} 
             } 
             }" 
          Value="False"> 
        <Setter Property="Grid.Visibility" Value="Collapsed" /> 
       </DataTrigger> 
      </Style.Triggers> 
      <Style.Resources> 
       <Style TargetType="{x:Type Label}"> 
        <Setter Property="FontWeight" Value="Bold" /> 
        <Setter Property="Foreground" Value="{StaticResource BaseText}" /> 
        <Setter Property="Padding" Value="3,0,0,0" /> 
       </Style> 
       <Style TargetType="{x:Type TextBlock}"> 
        <Setter Property="Foreground" Value="{StaticResource BaseText}" /> 
       </Style> 
      </Style.Resources> 
     </Style> 

ответ

0

Nevermind, мой дизайнер был этот стиль положить в файл дважды, а другой раз у него не было ресурсов стиля в нем, он был перезаписью один я использую. Невнятная ошибка.