仅在堆栈面板中显示完整的项目
Posted
技术标签:
【中文标题】仅在堆栈面板中显示完整的项目【英文标题】:Only display complete items in a stackpanel 【发布时间】:2012-03-31 02:17:40 【问题描述】:我有一个由以下网格组成的滑块:
滚动查看器 Stackpanel(stackpanel 位于查看器内部)滑块有 2 个导航按钮,用于浏览所选项目。
但是我怎样才能只显示完整的项目?目前一些按钮只显示一半,因为没有更多可用空间。在最终版本中,一次应该只显示 5 个按钮。但是如果某个事件被触发,更多的按钮将可见。
例如 1-5 是可见的。如果另一个按钮弹出只有 2-6 应该是可见的。
滑块内的按钮必须动态创建。 坚持使用堆栈面板有意义吗?因为目前按钮是静态的。
编辑:在向堆栈面板动态添加按钮时,对于已经定制的按钮,这究竟是如何工作的?我可以添加一个普通按钮就好了,但我希望添加下面已经制作的按钮。
【问题讨论】:
怀疑这在这里有帮助,但我注意到在 ComboBox 或 ListBox 中,如果它只显示一个 TextBlock,那么它会保持完整。但是像按钮这样更复杂的控件会被剪掉。 你能添加一些代码来展示它们是如何生成的吗? XAML 数据绑定代码也会有所帮助。 目前还没有动态生成按钮。但问题是我不确定对这种方法采取什么控制措施。这5个按钮应该在什么样的控件中显示? 您可以作弊并手动设置堆栈面板的宽度。 SizeOfButton * 5... 您必须监听窗口调整大小事件。 【参考方案1】:我相信VirtualizingStackPanel
(默认情况下启用虚拟化)只能执行基于项目的滚动(而不是基于像素的滚动)。可能值得尝试将StackPanel
换成VirtualizingStackPanel
,看看是否能解决您的问题。
【讨论】:
以上是关于仅在堆栈面板中显示完整的项目的主要内容,如果未能解决你的问题,请参考以下文章