2011-02-16 50 views
3

我需要實現IScrollInfo接口,這是我讀過的一個野獸。但我正在努力應該在哪裏實施。應該在哪裏實現IScrollInfo:View還是ViewModel?

我認爲它應該在視圖中,因爲在MakeVisible方法中有一個對Visual的引用。另外,當您設置CanContentScroll =「True」時,ScrollViewer將查找IScrollInfo接口。這意味着排列我的對象的自定義面板將需要繼承ViewModel或通過調用VM的實現將ViewModel包裝在視圖中。

所以我錯了,它應該是在ViewModel?

回答

4

我將IScrollInfo視爲純視圖。它代表了一個「可滾動區域」 - 在特定視圖之外沒有意義。在「可滾動區域」中沒有涉及業務邏輯,因此它應該完全不在ViewModel中。

0

您可以在自定義面板上實現IScrollInfo。因此它是特定的視圖。有一個轉折。由於WPF控件的無形模型,控件本身就是一種視圖模型。

相關問題