public partial class DenomDetailPage : Page
{
public DenomDetailPage(IEnumerable<TbTrans002> t)
{
InitializeComponent();
this.DataContext = new DenomDetailViewModel(t);
}
}
我的简单测试代码位于最上面。 但是,我想在xaml文件中设置datacontext。
<Page.DataContext>
<viewModels:DenomDetailViewModel/>
</Page.DataContext>
上面的代码上的发生错误。如何修复我的代码。
答案 0 :(得分:0)
这可以在XAML2009中通过x:Arguments
完成,但是BAML不支持XAML2009功能,因此在WPF中,您必须改为使用ObjectDataProvider:
<Page.DataContext>
<ObjectDataProvider d:IsDataSource="True" ObjectType="{x:Type viewmodel:YourClass}">
<ObjectDataProvider.ConstructorParameters>
<sys:String>Constructor parameter 1</sys:String>
<sys:String>Constructor parameter 2</sys:String>
<sys:Double>3</sys:Double>
<sys:String>etc</sys:String>
</ObjectDataProvider.ConstructorParameters>
</ObjectDataProvider>
</Page.DataContext>