wpf listbox 内的内容显示问题,需要设置里面的itemsPresenter

Posted SO_N_Y

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf listbox 内的内容显示问题,需要设置里面的itemsPresenter相关的知识,希望对你有一定的参考价值。

有时候控件并非维护本身逻辑,而是依赖于父子元素的,如了上诉的ContentPresenter,我们还有一个非常常用的ListBox控件,因为继承自ItemsControl,所以有一个ItemsPanel属性作为集合元素承载容器,但集合控件本身却不负责呈现控件,那么这个任务就留给了子元素ItemsPresenter,其实用也很简单,只要把ItemsPresenter放在内部模板中,那么ItemsPresenter则会去检测父元素是否为集合控件,然后将ItemsPanel添加到其内部视觉树当中

 

 

<Style x:Key="{x:Type ItemsControl}" TargetType="{x:Type ItemsControl}">

<Setter Property="Template">

<Setter.Value>

<ControlTemplate TargetType="{x:Type ItemsControl}">

<Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">

<ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>

</Border>

</ControlTemplate>

 

</Setter.Value>

</Setter>

</Style>

以上是关于wpf listbox 内的内容显示问题,需要设置里面的itemsPresenter的主要内容,如果未能解决你的问题,请参考以下文章

wpf listbox 显示不全 而且没滚动条

wpf listbox 显示不全 而且没滚动条

WPF 将 ListBox 绑定到枚举,显示描述属性

动态设置 ListBox CheckBox 内容

WPF:带有 WrapPanel 的 ListBox,垂直滚动问题

wpf 界面中放了listbox想让他在最上层显示出来。