在哪个位置实现IScrollInfo:视图还是视图模型?

3
我需要实现IScrollInfo接口,根据我的阅读,这是一个复杂的任务。但是,我不确定它应该在哪里实现。
我认为应该在View中实现,因为MakeVisible方法中引用了Visual。此外,当设置CanContentScroll="True"时,ScrollViewer会查找IScrollInfo接口。这意味着排列对象的自定义面板需要继承ViewModel或通过调用VM的实现来包装ViewModel。
那么,我错了吗?它应该在ViewModel中实现吗?
2个回答

4

我认为IScrollInfo就是纯粹的视图。它代表着一个“可滚动的区域”——这个区域在特定的视图之外是没有意义的。在“可滚动的区域”中没有业务逻辑,因此应该完全保留在ViewModel之外。


0
你在自定义面板上实现IScrollInfo接口。因此,它是视图特定的。然而,有一个小变化。由于WPF控件采用无外观模型,控件本身就像是一种视图模型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接