呈现 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
不知道要显示什么。
简单的问题!
我想在包含文本框的扩展器和网格内显示一个项目控件。我想多次执行此操作,所以我将其包装在 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
不知道要显示什么。