我有一个视图模型和一个使用Caliburn.Micro架构的相应视图。(使用 C# 和 WPF),这工作和显示得很好,但我想将参数传递给视图的构造函数。 我该怎么做?
(换句话说:如何将提供给视图模型构造函数的参数传递给视图的构造函数?
谢谢!
通常,
由于多种原因,您不会这样做。
- 如果没有参数较少的构造函数,可视化设计器通常会失败。
- 视图创建通常由框架完成,不涉及任何容器。
通常,数据通过绑定从视图模型传递到视图。在您的情况下,您将在视图模型上公开一个属性并绑定它,如下所示。
<ListBox ItemsSource="{Binding Products}"
SelectedItem="{Binding SelectedProduct, Mode=TwoWay}" />
并不是说这些都与Caliburn.Micro无关,而是你通常如何处理基于xaml的框架中这样的问题。
对于这些情况,Caliburn.Micro中内置了约定。以上可以替换为。
<ListBox x:Name="Products" />