为了账号安全,请及时绑定邮箱和手机立即绑定

从 ViewModel 中提取数据

从 ViewModel 中提取数据

C#
慕侠2389804 2023-08-20 11:07:23
我有一个视图模型:public class CreateRepositoryViewModel : BaseViewModel{    private Repository _repository;    public Repository Repository    {        get => _repository;        set        {            _repository = value;            OnPropertyChanged();        }    }}(BaseViewModel实现IPropertyChanged接口以简化)然后我将视图模型绑定到我的页面,如下所示:DataContext = new CreateRepositoryViewModel();然后我有多个绑定到 ViewModel 的表单字段:<TextBox Text="{Binding Path=Repository.LicenceTemplate}" /><CheckBox IsChecked="{Binding Path=Repository.HasIssues}" VerticalAlignment="Center"/>在页面内的按钮单击事件模型上,我尝试提取数据,如下所示:var model = (CreateRepositoryViewModel) DataContext;但是,数据上下文中的 Repository 属性返回 null。如何获取xaml页面后面的.cs文件中的这些数据?
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

ViewModel 中的存储库属性需要实例化。


DataContext = new CreateRepositoryViewModel { Repository = new Models.Repository() };

或者,为属性的支持字段分配一个非空初始值。


public class CreateRepositoryViewModel : BaseViewModel

{

    private Repository _repository = new Models.Repository();

    ...

}

那么这就足够了:


DataContext = new CreateRepositoryViewModel();


查看完整回答
反对 回复 2023-08-20
  • 1 回答
  • 0 关注
  • 72 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信