2010-03-05 88 views

回答

1

不幸的是,有没有办法做到这一点作为一个WPF用户控件。您需要根据ItemsControl来制作自定义控件(而不是用户控件)。它可以正确处理这个问题。

这就是说,我没有看到太多的观点。把你的StackPanel放入一个ScrollViewer非常简单 - 为什么要重新发明轮子?

+0

我想做一个可滚动的StackPanel类型,它的项目是Drag n Droppable – RyanScottLewis 2010-03-05 01:44:00

+1

为什么不直接在ScrollViewer中使用ListBox或StackPanel?否则,你需要做一个自定义控件 - 你不能让一个用户控件成为一个ItemsControl(它可以让你有多个“内容”元素)... – 2010-03-05 02:24:54

+0

里德是对的。这是WPF将控件的视觉和行为方面分开的全部要点。您不会通过查看它们而知道,但TabControl和ListBox几乎完全相同,都来自Selector。您应该考虑替换ListBox的样式和/或ItemTemplate。 – Josh 2010-03-05 03:13:34

0

看起来你只需要使用ListBox。如果需要,可以重写ItemContainterStyle和ListBox.Style以摆脱所有选定的行为和背景。因为默认情况下,ListBox中有StackPanel和ScrollViewer。