目前想封一个带滚动条的控件,希望可以指定maxmium,同时内部控件滚动时可以级联滚动条滚动。
比如一个datagrid,手动指定其滚动条最大值为10000,拖动滚动条时可以级联更新datagrid数据,同时datagrid使用鼠标滚轮滚动时,滚动条可以级联更新位置。做这个控件的目的是为了实现数据源虚拟加载,不希望把全部的数据源都拿出来,一次只拿需要展示的n条。
scrollviewer 支持级联滚动,但是不支持手动指定最大值。如果修改scrollviewer的模板,硬给里面的scrollbar指定最大值的话,会导致scrollveiwer的可滚动范围与滚动条不匹配,也就是只有thumb只能在很小的一部分滚动。
scrollbar倒是支持指定最大值,滚动也ok,但是不知道为啥滚轮滚动时没反应。也就不能实现子控件滚轮滚动同时级联滚动条滚动倒指定位置。
求问有没有类似的解决方案
感觉可以这样,带有滚动条的panel,限制下最大大小
把你的画布放在这个panel里面
想法不错,但是你有没有考虑oom问题?滚动一次加载1w条数据,然后刷新数据,内存不会撑爆吗?说到底还是在给内存中加数据。