Wpf 在何处创建参数化ViewModel?
我最近已将ViewModel的构造函数参数化。在此之前,我在我的窗口中做了以下操作:Wpf 在何处创建参数化ViewModel?,wpf,mvvm,viewmodel,Wpf,Mvvm,Viewmodel,我最近已将ViewModel的构造函数参数化。在此之前,我在我的窗口中做了以下操作: <Window.DataContext> <vm:MyViewModel /> </Window.DataContext> 框架为我实例化了ViewModel 我知道我可以在代码中设置DataContext,但我更喜欢XAML方式,这样设计器可以在设计时显示我的测试数据 这可能吗?我不知道如何传递构造函数参数,我认为这是不可能的(但如果有人证明我错了,那就太好了
<Window.DataContext>
<vm:MyViewModel />
</Window.DataContext>
框架为我实例化了ViewModel
我知道我可以在代码中设置DataContext,但我更喜欢XAML方式,这样设计器可以在设计时显示我的测试数据
这可能吗?我不知道如何传递构造函数参数,我认为这是不可能的(但如果有人证明我错了,那就太好了) 您可以在ViewModel上设置属性,如中所示
<Window.DataContext>
<vm:MyViewModel MyProperty="Hello" />
</Window.DataContext>
如果要指定构造函数参数,请使用:
<Window.DataContext>
<ObjectDataProvider ObjectType="vm:MyViewModel"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<ObjectDataProvider.ConstructorParameters>
<sys:String>A string parameter</sys:String>
<sys:Int32>42</sys:Int32>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</Window.DataContext>
字符串参数
42
如果参数是类类型?如果参数是自定义类类型,将如何在xaml中写入?