잘하면 저를 도울 수 있습니다. 우선, 내 문제가 무엇인지 설명해 드리겠습니다.ViewModels 사이의 Caliburn 마이크로 통신
두 개의 ViewModel이 있습니다. 첫 번째 것은 예를 들어. 여러 텍스트 상자에 저장된 정보.
private static string _tbxCfgLogfile;
public string TbxCfgLogfile
{
get { return _tbxCfgLogfile; }
set
{
_tbxCfgLogfile = value;
NotifyOfPropertyChange(() => TbxCfgLogfile);
}
}
다른 뷰 모델 예를
를 들어내가 텍스트 상자에서이 데이터를 저장할 버튼이 있습니다.
내가 "CanBtnCfgSave"이 조건이 충족되지 않거나 있음을 알려 수있는 방법이
public bool CanBtnCfgSave
{
get
{
return (new PageConfigGeneralViewModel().TbxCfgLogfile.Length > 0 [...]);
}
}
public void BtnCfgSave()
{
new Functions.Config().SaveConfig();
}
모습입니까?
내 첫 번째 시도 그것은 작동하지 않습니다
private static string _tbxCfgLogfile;
public string TbxCfgLogfile
{
get { return _tbxCfgLogfile; }
set
{
_tbxCfgLogfile = value;
NotifyOfPropertyChange(() => TbxCfgLogfile);
NotifyOfPropertyChange(() => new ViewModels.OtherViewModel.CanBtnCfgSave);
}
}
했다. 내가 기억할 때, 각 ViewModel에서 데이터를 얻을 수는 있지만 아무런 노력없이 설정하거나 알릴 수는 없습니다. 그게 맞습니까? 내 목표를 달성하기 위해 "이벤트 통합 자"를 사용해야합니까, 아니면 다른 방법이 있습니까?
감사를
CanSave
속성을 만들 필요성을 절감, 작동하는 경우에 당신은 단지 아이 VM에CanSave
에 바인딩을 만들 수 있습니다. 그것은 아주 잘 작동했습니다. 나는 그것을 할 방법이 있다는 것을 알았다. – Insight