Свернутая сетка WPF, а не стилизация - PullRequest
0 голосов
/ 15 сентября 2009

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

Я предполагаю, что это как-то связано с состоянием по умолчанию свернутого элемента listbox, поэтому 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>

1 Ответ

0 голосов
/ 15 сентября 2009

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

...