如果View
的代码隐藏只包含InitializeComponent()
调用的构造函数,为什么不使用DataContext="{Binding RelativeSource={RelativeSource Self}}"
并将视图本身用作视图模型?
我认为技术上违反了单一责任原则,但由于XAML和代码隐藏是彼此独立定义的,因此不会导致通常的混乱。为所有内容设置单独的视图模型会导致文件结构更加混乱。
答案 0 :(得分:5)
ViewModel描述了视图状态。为了测试和重用目的,它必须是独立于UI的。 优点: