在MasterDetailPage中使用BindingContext的方法如下所示:
其中,viewModel是你的视图模型的命名空间。
public class MainViewModel : INotifyPropertyChanged
{
private string _pageTitle;
public string PageTitle
{
get { return _pageTitle; }
set
{
_pageTitle = value;
OnPropertyChanged(nameof(PageTitle));
}
}
public ICommand UpdateTitleCommand { get; }
public MainViewModel()
{
PageTitle = "Master Page";
UpdateTitleCommand = new Command(UpdateTitle);
}
private void UpdateTitle()
{
PageTitle = "New Master Page";
}
// 实现INotifyPropertyChanged接口的代码
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
注意,这里也需要设置ContentPage的BindingContext,以便绑定视图模型。
通过上述步骤,你就可以在MasterDetailPage中使用BindingContext,并绑定视图模型的属性和命令了。当属性值发生改变时,视图会自动更新。点击按钮时,命令对应的方法会被调用。