呈现 ItemsControl

Presenting an ItemsControl

简单的问题!

我想在包含文本框的扩展器和网格内显示一个项目控件。我想多次执行此操作,所以我将其包装在 ControlTemplate 中。

    <ControlTemplate x:Key="ArrayPresenter">
    <Expander Template="{StaticResource ArrayTemplate}">
        <Grid>
            <ContentPresenter/>
            <TextBlock FontWeight="Bold" Text="Empty" Margin="3" HorizontalAlignment="Center" Foreground="#66C9C9C9" FontSize="15" Visibility="{quickConverter:Binding '$P.Count == 0 ? Visibility.Visible : Visibility.Collapsed', P={Binding Array}}" />
        </Grid>
    </Expander>
</ControlTemplate>

这就是我要呈现的。不幸的是,无论何时将项目添加到项目控件中,都没有任何反应,也不会显示新项目!

<ContentControl Template="{StaticResource ArrayPresenter}">
        <ItemsControl Style="{StaticResource ArrayItemsStyle}" Margin="5" ItemTemplate="{StaticResource StructureFieldTemplate}"/>
    </ContentControl>

如评论中所述,您需要定位 ControlTemplate

类型
<ControlTemplate ... TargetType="{x:Type ContentControl}">

如果没有 ControlTemplate 目标 System.Windows.Controls.Control 类型并且没有 Content 可以显示,所以 ContentPresenter 不知道要显示什么。