Caliburn的Screen不能由Window或UserControl继承

时间:2018-03-26 14:19:57

标签: wpf vb.net mvvm caliburn.micro

我发现Window或UserControl无法继承Caliburn的Screen基类。我是否被迫在我的WPF应用程序中为每个窗口/用户控件实现IScreen接口?

Imports Caliburn.Micro
Namespace Views
  Public Class CustomView
    Inherits Screen
  End Class
End Namespace
  

为“CustomView”类指定的基类'Screen'不能   不同于其他一个的基类'UserControl'   部分类型。

1 个答案:

答案 0 :(得分:1)

Caliburn的Screen基类用于视图模型。

Imports Caliburn.Micro
Namespace ViewModels
  Public Class CustomViewModel
    Inherits Screen

    '...'

  End Class
End Namespace

然后用于将派生的视图模型绑定到视图

Imports ViewModels
Namespace Views
  Public Class CustomView
    Inherits Window

    Public Sub New()
        '...'

        Dim viewModel As New CustomViewModel()
        DataContext = viewModel
    End Sub

  End Class
End Namespace

参考Caliburn.Micro Documentation: Screens, Conductors and Composition