Представление 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>

1 ответ

Решение

Как уже упоминалось в комментарии, вам нужно указать тип вашего ControlTemplate

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

Без этого ControlTemplate цели System.Windows.Controls.Control типа а что нет Content представить так ContentPresenter не знает что показать.

Другие вопросы по тегам