更改scrollviewer(WPF)的定位点

更改scrollviewer(WPF)的定位点,wpf,alignment,scrollbar,anchor,scrollviewer,Wpf,Alignment,Scrollbar,Anchor,Scrollviewer,我正在尝试做一些有点具体的事情,但我似乎不知道这是否可能。所以我想我会把问题放在这里 我要寻找的是一种将scrollviewer的定位点从顶部更改为底部的方法(无论您如何查看)。我来解释我的意思。 默认情况下,当scrollviewer中包含的控件变高时,垂直滚动条scollableheight也会变高。 但实际情况是,垂直滚动条将保持与顶部相同的滚动偏移量,而我想要的是垂直滚动条保持其相对于底部的位置。我想要这种行为的原因是因为我正在创建一个列表,用户可以通过滚动到顶部来扩展更多列表。但是,当

我正在尝试做一些有点具体的事情,但我似乎不知道这是否可能。所以我想我会把问题放在这里

我要寻找的是一种将scrollviewer的定位点从顶部更改为底部的方法(无论您如何查看)。我来解释我的意思。
默认情况下,当scrollviewer中包含的控件变高时,垂直滚动条scollableheight也会变高。 但实际情况是,垂直滚动条将保持与顶部相同的滚动偏移量,而我想要的是垂直滚动条保持其相对于底部的位置。我想要这种行为的原因是因为我正在创建一个列表,用户可以通过滚动到顶部来扩展更多列表。但是,当我添加新项目时,scrollviewer会向上滚动到新添加的项目。(虽然它实际上是被按下的内容)因此,如果scrollviewer将垂直滚动条固定在底部,则内容的可见部分对用户来说将保持在相同的位置,因为从该部分到底部的距离没有改变

我希望你能理解我想做什么

我已经找到了一种方法,但这不是我想要的选择

选项1)将Y轴上的-1的Scaletransform应用于scrollviewer以将其倒置。然后在Y轴上对scrollviewer的内容应用另一个-1的ScaleTransform,使内容正面朝上。
但这种技术的问题在于,当你使用鼠标滚轮滚动时,scrollviewer会像正常情况一样反向滚动。其次,我使用2个ScaleTransformation只是为了改变scrollviewer的行为,甚至不是为了吸引眼球。所以我觉得这有点过分


选项2)有人吗?

忘掉这一切。使用常规的
列表框
,并在每次添加新项目时更改
SelectedItem
。然后使用
ListBox.ScrollIntoView(ListBox.SelectedItem)
就可以开始了。不要试图重新发明轮子。它已经被发明出来了。@leigero:不完全是我所期待的stackoverflow的热烈欢迎。我只是想找一些更高级的帮助,然后一个常规的谷歌搜索会让你…@Highcore:实际上,我的scrollviewer包含一个wrappanel,而wrappanel又包含一个usercontrol的多个副本。所以我认为列表框在这里帮不了我。(或者我错了吗?)另外,我正在寻找可能的最干净的解决方案,我想避免重新滚动到原始位置时的闪烁和肮脏。@user3077410是的,你错了。显示项目并允许选择一个或多个项目的UI元素是
列表框
。不管它的视觉外观如何。在WPF中,您根据UI元素的功能选择它们,而不是它们的视觉外观。您仍然可以在
列表框中使用
包装纸
。ItemsPanelTemplate
@user3077410我不是想粗鲁无礼,也不是想推出欢迎车。有人向我提出了这个问题,并要求我提供反馈。你得到了一个干巴巴的客观评价。我没有否决这个问题,但如果你被否决了,人们往往无法解释原因,所以我想把它包括在内以防万一。