c# – 如何将视图构造函数参数传递给视图模型
发布时间:2020-12-15 08:20:05 所属栏目:百科 来源:网络整理
导读:我有一个View和ViewModel. MyView{ MyView(int id) { InitializeComponent(); }} MyViewModel { private int _id; public int ID { get { return _id; } set { _id= value; OnPropertyChanged("_id"); } } } 我在我的XAML上设置数据上下文: Window.DataCont
我有一个View和ViewModel.
MyView { MyView(int id) { InitializeComponent(); } } MyViewModel { private int _id; public int ID { get { return _id; } set { _id= value; OnPropertyChanged("_id"); } } } 我在我的XAML上设置数据上下文: <Window.DataContext> <vm:MyViewModel/> </Window.DataContext> 单击按钮我将我的视图显示为: Application.Current.Dispatcher.Invoke(() => new MyView(id).Show()); 现在,如何将id从MyView(id)传递到MyViewModel.ID. 解决方法
由于DataContext是在InitializeComponent()调用之后创建的,因此您可以在之后将其传递给ViewModel:
MyView { MyView(int id) { InitializeComponent(); ((MyViewModel)DataContext).ID = id; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |