我有一個(gè)視圖模型:public class CreateRepositoryViewModel : BaseViewModel{ private Repository _repository; public Repository Repository { get => _repository; set { _repository = value; OnPropertyChanged(); } }}(BaseViewModel實(shí)現(xiàn)IPropertyChanged接口以簡化)然后我將視圖模型綁定到我的頁面,如下所示:DataContext = new CreateRepositoryViewModel();然后我有多個(gè)綁定到 ViewModel 的表單字段:<TextBox Text="{Binding Path=Repository.LicenceTemplate}" /><CheckBox IsChecked="{Binding Path=Repository.HasIssues}" VerticalAlignment="Center"/>在頁面內(nèi)的按鈕單擊事件模型上,我嘗試提取數(shù)據(jù),如下所示:var model = (CreateRepositoryViewModel) DataContext;但是,數(shù)據(jù)上下文中的 Repository 屬性返回 null。如何獲取xaml頁面后面的.cs文件中的這些數(shù)據(jù)?
1 回答

躍然一笑
TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
ViewModel 中的存儲庫屬性需要實(shí)例化。
DataContext = new CreateRepositoryViewModel { Repository = new Models.Repository() };
或者,為屬性的支持字段分配一個(gè)非空初始值。
public class CreateRepositoryViewModel : BaseViewModel
{
private Repository _repository = new Models.Repository();
...
}
那么這就足夠了:
DataContext = new CreateRepositoryViewModel();
- 1 回答
- 0 關(guān)注
- 189 瀏覽
添加回答
舉報(bào)
0/150
提交
取消