【发布时间】:2010-03-10 06:57:23
【问题描述】:
如何创建一个控件,其中包含垂直列出的项中的项,但仅达到控件的高度,然后从第二列的顶部开始?
有点像 Windows 资源管理器的外观和感觉。
我目前正在使用WrapPanel,但我不知道如何让它水平滚动...
非常感谢这里的任何帮助
干杯, 标记
【问题讨论】:
标签: wpf data-visualization wrappanel
如何创建一个控件,其中包含垂直列出的项中的项,但仅达到控件的高度,然后从第二列的顶部开始?
有点像 Windows 资源管理器的外观和感觉。
我目前正在使用WrapPanel,但我不知道如何让它水平滚动...
非常感谢这里的任何帮助
干杯, 标记
【问题讨论】:
标签: wpf data-visualization wrappanel
将具有垂直方向的WrapPanel 包含在ScrollViewer 中,并将VerticalScrollbarVisibility 设置为Disabled。
将其粘贴到 Kaxaml 中,您会看到:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Page.Resources>
<Style TargetType="{x:Type Button}">
<Style.Setters>
<Setter Property="Width" Value="50"/>
<Setter Property="Height" Value="50"/>
</Style.Setters>
</Style>
</Page.Resources>
<Grid Margin="200, 100">
<ScrollViewer VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Visible" MaxWidth="200">
<WrapPanel Orientation="Vertical">
<Button/>
<Button/>
<Button/>
<Button/>
<Button/>
<Button/>
<Button/>
<Button/>
<Button/>
</WrapPanel>
</ScrollViewer>
</Grid>
</Page>
【讨论】:
Visibility.Disabled 甚至存在。
Canvas,您必须为子内容提供明确的大小和位置。 Canvas 真的超级原始;在大多数情况下,您不应该使用它来布局 UI 控件,因为它不执行任何类型的默认布局;您必须告诉它所有关于放置子元素的位置以及它们自己的大小。
对我来说听起来很像 UniformGrid 或 WrapPanel 检查这个blog,他有一些很好的内置布局面板演示
【讨论】: