我完全被这3个术语所困惑,何时使用哪个?什么是关系,他们是哪些控制的孩子?
说这是树是正确的:
ItemsControl> ItemsPresenter> ItemsPanel
解决方法
ItemsControl在概念上是一个容纳物品的控件。尝试简单地将此控件看作是零个或多个对象的持有者。
ItemsPresenter有点难以解释,但这是ItemsControl模板的一部分,它将定义项目放置在其中的位置。您的ItemsControl的模板可以是任何你喜欢的,比如说一个网格上有一些漂亮的图片,在这个模板里,你可以把ItemsPresenter放在你想要的物品的位置,就在网格的中间。 (这个例子是从msdn开始,简化为便于阅读)
<Style targettype="HeaderedItemsControl"> <Setter Property="Template"> <Setter.Value> <ControlTemplate targettype="{x:Type HeaderedItemsControl}"> <Grid> <Rectangle stroke="Black" Fill="Red"/> <ItemsPresenter Margin="2,0"/> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
ItemsPanel是控制ItemsControl中项目布局的面板(或容器)。因此,如果您希望将您添加到ItemsControl中的项目以水平的方式显示,那么yor项目面板可以简单地是一个StackOut,其Orientation属性设置为Horizontal。
这一切都有道理吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。