Представление 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
не знает что показать.