导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

ItemsPresenter 类

2013/12/13

指定项在控件(通常是 ItemsControl)中的放置位置。

System.Object
  System.Windows.DependencyObject
    System.Windows.UIElement
      System.Windows.FrameworkElement
        System.Windows.Controls.ItemsPresenter

Namespace:  System.Windows.Controls
程序集:  System.Windows(位于 System.Windows.dll 中)
XMLNS for XAML: 未映射到 xmlns。

public sealed class ItemsPresenter : FrameworkElement
<ItemsPresenter .../>

ItemsPresenter 类型公开以下成员。

  名称说明
公共方法ItemsPresenter初始化 ItemsPresenter 类的新实例。
返回顶部

  名称说明
公共属性ActualHeight获取 FrameworkElement 的呈现高度。 (从 FrameworkElement 继承。)
公共属性ActualWidth获取 FrameworkElement 的呈现宽度。 (从 FrameworkElement 继承。)
公共属性AllowDrop获取或设置一个值,该值确定此 UIElement 是否可用作拖放操作的放置目标。 (从 UIElement 继承。)
公共属性CacheMode获取或设置一个值,该值指示应在可能时缓存已呈现内容。 (从 UIElement 继承。)
公共属性Clip获取或设置用于定义 UIElement 的内容边框的 Geometry (从 UIElement 继承。)
公共属性Cursor基础结构。 获取或设置指针悬停在 FrameworkElement 上时所显示的光标图像。 (从 FrameworkElement 继承。)
公共属性DataContext获取或设置 FrameworkElement 参与数据绑定时的数据上下文。 (从 FrameworkElement 继承。)
公共属性DesiredSize获取此 UIElement 在布局过程的测量处理过程中计算的大小。 (从 UIElement 继承。)
公共属性Dispatcher获取与此对象关联的 Dispatcher (从 DependencyObject 继承。)
公共属性FlowDirection获取或设置文本和其他用户界面元素在控制其布局的任何父元素中的流动方向。 (从 FrameworkElement 继承。)
公共属性Height获取或设置 FrameworkElement 的建议高度。 (从 FrameworkElement 继承。)
公共属性HorizontalAlignment获取或设置在布局父级(如面板或项控件)中构成 FrameworkElement 时应用于此元素的水平对齐特征。 (从 FrameworkElement 继承。)
公共属性IsHitTestVisible获取或设置此 UIElement 的包含区域是否可为命中测试返回 true 值。 (从 UIElement 继承。)
公共属性Language获取或设置应用于 FrameworkElement 的本地化/全球化语言信息。 (从 FrameworkElement 继承。)
公共属性Margin获取或设置 FrameworkElement 的外边距。 (从 FrameworkElement 继承。)
公共属性MaxHeight获取或设置 FrameworkElement 的最大高度约束。 (从 FrameworkElement 继承。)
公共属性MaxWidth获取或设置 FrameworkElement 的最大宽度约束。 (从 FrameworkElement 继承。)
公共属性MinHeight获取或设置 FrameworkElement 的最小高度约束。 (从 FrameworkElement 继承。)
公共属性MinWidth获取或设置 FrameworkElement 的最小宽度约束。 (从 FrameworkElement 继承。)
公共属性Name获取或设置对象的标识名称。 当 XAML 处理器从标记创建对象树时,运行时代码可以使用此名称引用标记元素。 (从 FrameworkElement 继承。)
公共属性Opacity获取或设置对象的不透明度。 (从 UIElement 继承。)
公共属性OpacityMask获取或设置用于改变此对象区域的不透明度的画笔。 (从 UIElement 继承。)
公共属性Parent获取对象树中此 FrameworkElement 的父对象。 (从 FrameworkElement 继承。)
公共属性Projection获取或设置在呈现此 UIElement 时要应用的透视投影(三维效果)。 (从 UIElement 继承。)
公共属性RenderSize获取 UIElement 的最终呈现大小。 (从 UIElement 继承。)
公共属性RenderTransform获取或设置影响 UIElement 的呈现位置的变换信息。 (从 UIElement 继承。)
公共属性RenderTransformOrigin获取或设置由 RenderTransform 声明的任何可能呈现转换的原点,相对于 UIElement 的边界。 (从 UIElement 继承。)
公共属性Resources获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法,将资源项建立为 frameworkElement.Resources 属性元素的子对象元素。 (从 FrameworkElement 继承。)
公共属性Style获取或设置呈现过程中应用于此对象的实例 Style (从 FrameworkElement 继承。)
公共属性Tag获取或设置一个可用于存储有关此对象的自定义信息的任意对象值。 (从 FrameworkElement 继承。)
公共属性Triggers获取为 FrameworkElement 定义的动画的触发器的集合。 (从 FrameworkElement 继承。)
公共属性UseLayoutRounding获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。 (从 UIElement 继承。)
公共属性UseOptimizedManipulationRouting获取或设置指示系统是否应处理输入事件或是否 FrameworkElement 应处理输入事件的值。 (从 FrameworkElement 继承。)
公共属性VerticalAlignment获取或设置在父对象(如面板或项控件)中构成 FrameworkElement 时应用于此元素的垂直对齐特征。 (从 FrameworkElement 继承。)
公共属性Visibility获取或设置 UIElement 的可见性。不可见的 UIElement 不呈现,也不将其所需大小告知布局。 (从 UIElement 继承。)
公共属性Width获取或设置 FrameworkElement 的宽度。 (从 FrameworkElement 继承。)
返回顶部

  名称说明
公共方法AddHandler为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。将 handledEventsToo 指定为 true 时,可为已标记为由其他元素在事件路由过程中处理的路由事件调用所提供的处理程序。 (从 UIElement 继承。)
公共方法Arrange定位子对象并确定 UIElement 的大小。为其子元素实现自定义布局的父对象应从其布局重写实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法ArrangeOverride提供 Windows Phone 布局的排列处理过程的行为。 类可以重写该方法来定义其自己的排列处理过程行为。 (从 FrameworkElement 继承。)
公共方法CaptureMouse将触摸输入捕获设置为 UIElement (从 UIElement 继承。)
公共方法CheckAccess确定调用线程是否可以访问此对象。 (从 DependencyObject 继承。)
公共方法ClearValue清除依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法Equals(Object)确定指定的 Object 是否等于当前的 Object (从 Object 继承。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法FindName检索具有指定标识符名称的对象。 (从 FrameworkElement 继承。)
公共方法GetAnimationBaseValue返回为 Windows Phone 依赖项属性设置的任意基值,在动画不活动时将应用它们。 (从 DependencyObject 继承。)
公共方法GetBindingExpression检索 BindingExpression 中已建立绑定的依赖项属性。 (从 FrameworkElement 继承。)
公共方法GetHashCode用作特定类型的哈希函数。 (从 Object 继承。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
公共方法GetValueDependencyObject 返回依赖项属性的当前有效值。 (从 DependencyObject 继承。)
公共方法InvalidateArrange使 UIElement 的排列状态(布局)无效。使其无效后,将会更新 UIElement 的布局(以异步方式进行)。 (从 UIElement 继承。)
公共方法InvalidateMeasure使 UIElement 的测量状态(布局)无效。 (从 UIElement 继承。)
公共方法Measure更新 UIElementDesiredSize。一般地,实现其布局子级的自定义布局的对象从自己的 MeasureOverride 实现调用此方法以形成递归布局更新。 (从 UIElement 继承。)
受保护的方法MeasureOverride提供 Windows Phone 布局的度量处理过程的行为。 类可以重写该方法来定义其自己的度量处理过程行为。 (从 FrameworkElement 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法OnApplyTemplate在派生类中重写后,每当应用程序代码或内部进程(如重新生成布局处理过程)调用 ApplyTemplate,都将调用此方法。 简而言之,这意味着就在 UI 元素在应用程序中显示前调用该方法。 有关更多信息,请参见“备注”。 (从 FrameworkElement 继承。)
受保护的方法OnCreateAutomationPeer在派生类中实现时,为 Windows Phone 自动化基础结构返回类特定的 AutomationPeer 实现。 (从 UIElement 继承。)
公共方法ReadLocalValue返回依赖项属性的本地值(如果设置了本地值)。 (从 DependencyObject 继承。)
公共方法ReleaseMouseCaptureUIElement 中移除触摸输入捕获。在此调用后,一般没有对象具有触摸输入捕获。 (从 UIElement 继承。)
公共方法RemoveHandler从此 UIElement 中移除指定的路由事件处理程序。 (从 UIElement 继承。)
公共方法SetBinding使用提供的绑定对象,将绑定附加到 FrameworkElement 上,并返回 BindingExpressionBase 以供以后使用。 (从 FrameworkElement 继承。)
公共方法SetValueDependencyObject 设置依赖项属性的本地值。 (从 DependencyObject 继承。)
公共方法ToString返回一个字符串,它表示当前的对象。 (从 Object 继承。)
公共方法TransformToVisual返回一个变换对象,该变换对象可用于将 UIElement 中的坐标变换为指定的对象。 (从 UIElement 继承。)
公共方法UpdateLayout请确保 UIElement 的所有子对象位置都正确地进行了布局更新。 (从 UIElement 继承。)
返回顶部

  名称说明
公共事件BindingValidationError在绑定源报告数据验证错误时发生。 (从 FrameworkElement 继承。)
公共事件DoubleTap当悬停在此 UIElement 上时使用了DoubleTap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件GotFocusUIElement 收到焦点时发生。 (从 UIElement 继承。)
公共事件Hold当悬停在此 UIElement 上时使用了 Hold 笔势的情况下发生。 (从 UIElement 继承。)
公共事件KeyDownUIElement 具有焦点的情况下按下键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件KeyUpUIElement 具有焦点的情况下释放键盘上的某个键时发生。 (从 UIElement 继承。)
公共事件LayoutUpdated当 Windows Phone 可视化树的布局更改时发生。 (从 FrameworkElement 继承。)
公共事件Loaded当已构造 FrameworkElement 并将其添加到对象树中时发生。 (从 FrameworkElement 继承。)
公共事件LostFocusUIElement 失去焦点时发生。 (从 UIElement 继承。)
公共事件LostMouseCaptureUIElement 失去触摸屏输入捕获时发生。 (从 UIElement 继承。)
公共事件ManipulationCompleted对于 UIElement 的操作和延时完毕时发生。 (从 UIElement 继承。)
公共事件ManipulationDelta当输入设备在操作期间更改位置时发生。 (从 UIElement 继承。)
公共事件ManipulationStarted当输入设备对 UIElement 开始操作时发生。 (从 UIElement 继承。)
公共事件MouseEnter当在 UIElement 界定区域内点按屏幕时发生。 (从 UIElement 继承。)
公共事件MouseLeave当在 UIElement 界定区域外发生触摸事件时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonDown在点按 UIElement 时发生。 (从 UIElement 继承。)
公共事件MouseLeftButtonUp当手指抬离 UIElement 时(或当 UIElement 具有触摸输入捕获时)发生。 (从 UIElement 继承。)
公共事件MouseMove在以下情况下发生:当触摸 UIElement 时(或当 UIElement 具有触摸输入捕获时),手指的坐标位置位于屏幕上。 (从 UIElement 继承。)
公共事件MouseWheel基础结构。 在以下情况下发生:当鼠标指针悬停在 UIElement 上时或 UIElement 具有焦点时,用户滚动鼠标滚轮。 (从 UIElement 继承。)
公共事件SizeChangedFrameworkElement 上的 ActualHeightActualWidth 属性的值发生更改时发生。 (从 FrameworkElement 继承。)
公共事件Tap当悬停在此 UIElement 上时使用了 Tap 笔势的情况下发生。 (从 UIElement 继承。)
公共事件TextInput在 UI 元素以与设备无关的方式获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputStart在 UI 元素以与设备无关的方式最初获取文本时发生。 (从 UIElement 继承。)
公共事件TextInputUpdate当通过输入方法编辑器 (IME) 继续编写文本时发生。 (从 UIElement 继承。)
公共事件Unloaded当此对象不再与主对象树连接时发生。 (从 FrameworkElement 继承。)
返回顶部

使用控件的 ControlTemplate 中的 ItemsPresenter 来指定在控件的可视化树中添加 ItemsPanel 的位置。ItemsPanel 指定用于控件中项的布局的面板。

下面的示例为 ListBox 创建一个 ControlTemplate,并使用 ItemsPresenter 确定 ListBox 中的各个项的放置位置。对于此示例,src 被定义为 xmlns:src="clr-namespace:ItemsControlSnippets"


<Grid>
  <Grid.Resources>
    <Style x:Key="ListBoxTemplate" TargetType="ListBox">
      <Setter Property="Template">
        <Setter.Value>
          <ControlTemplate TargetType="ListBox">
            <Grid>
              <Ellipse Stroke="{TemplateBinding BorderBrush}"
                  StrokeThickness="{TemplateBinding BorderThickness}"
                  Fill="{TemplateBinding Background}"/>
              <ScrollViewer HorizontalScrollBarVisibility="Auto"
                          VerticalScrollBarVisibility="Auto">
                <ItemsPresenter HorizontalAlignment="Center"
                              VerticalAlignment="Center"/>
              </ScrollViewer>
            </Grid>
          </ControlTemplate>
        </Setter.Value>
      </Setter>
    </Style>

    <src:Items x:Key="myItems"/>
  </Grid.Resources>

  <ListBox ItemsSource="{StaticResource myItems}" 
         Style="{StaticResource ListBoxTemplate}"
         Width="250" Height="250" 
         Background="Aquamarine" BorderBrush="Navy" BorderThickness="5"/>
</Grid>


下面的示例显示 ListBox 绑定到的字符串的集合。


public class Items : 
    System.Collections.ObjectModel.ObservableCollection<string>
{
    public Items()
    {
        Add("Item 1");
        Add("Item 2");
        Add("Item 3");
        Add("Item 4");
        Add("Item 5");
    }
}


前面示例生成的输出结果与下图相似。

带有自定义 ControlTemplate 的 ListBox

ListBox with new control template

Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

此类型的所有公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2014 Microsoft