ItemsPresenter从扩展器获取背景

时间:2017-10-30 09:33:02

标签: wpf xaml

我有这段代码:

<Expander IsExpanded="True" Background="#4F4F4F">
    <Expander.Header>
        <DockPanel Height="16.5">
            <TextBlock Text="{Binding Name}" FontWeight="Bold" Foreground="White" FontSize="11.5" VerticalAlignment="Bottom" />
            <TextBlock Text="{Binding ItemCount}" FontSize="11.5" Foreground="Orange" FontWeight="Bold" FontStyle="Italic" Margin="10,0,0,0" VerticalAlignment="Bottom" />
            <TextBlock FontSize="11.5" Foreground="White" FontStyle="Italic" FontWeight="Bold" VerticalAlignment="Bottom" >
                <TextBlock.Style>
                    <Style TargetType="{x:Type TextBlock}">
                        <Setter Property="Text" Value="sx"/>
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding ItemCount}" Value="1">
                                <Setter Property="Text" Value="s"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </TextBlock.Style>
            </TextBlock>
        </DockPanel>
    </Expander.Header>
    <ItemsPresenter />
</Expander>

你可以看到我有一个扩展器,在扩展器内有一个ItemsPresenter。

扩展器有黑色背景,没关系,但问题是ItemsPresenter得到扩展器的背景但是这应该是白色的,它不应该得到扩展器的背景,为什么会发生这种情况呢? / p>

1 个答案:

答案 0 :(得分:0)

ItemsPresenter本身没有任何颜色,它必须是可见的封面。在ItemsControl ItemsPresenter中将显示ItemsPanel,并且可以为该面板设置不同的背景。或者为<ItemsPresenter />添加封面:

<Border Background="Wheat">
    <ItemsPresenter />
</Border>