我有一個視圖模型: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();
- 1 回答
- 0 關注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消