답변
Caliburn.micro에서 MVVM을 사용한다고 가정하면 명령에 Can-convention이 있습니다. 그래서, 당신은 문자열 속성라는 이름이 비어 있지 않은 경우 저장 버튼을 사용하려면 가정, 당신은 단순히 뷰 모델에이 방법을 추가 클래스를 가정
public bool CanSave()
{
if(String.IsNullOrEmpty(UserName))
return false;
return true;
}
이 PropertyChangedBase 또는 화면 상속, 그리고 당신이 버튼을 Name = "저장", UserName이 비어 있으면 비활성화됩니다. 뷰에서 데이터를 변경하는 데 관심이있는 경우이 예제 UserName의 관련 속성은 뷰의 입력 영역에 바인딩되어야합니다. 예를 들어 UserName이라는 TextBox를 사용하면 Caliburn을 설정할 수 있습니다. 협약에 의한 구속력. 실제로 다른 데이터 당신이 무엇에 관해 얘기하는지 화면
public class UserViewModel : PropertyChangedBase
{
private string _savedUserName;
public string UserName{ get; set; }
public bool CanSave()
{
return !UserName.Equals(_savedUserName);
}
public void Save()
{
//Save the data
_savedUserName = UserName;
}
}
레코드를 편집하고 필드가 비어 있지 않으면 뭔가 변경되지 않는 한 저장하기를 원하지 않습니다. –
음, 저장된 값과 값이 같을 때 저장 버튼이 비활성화 된 상태로 유지되도록 원래 값을 그대로 유지해야합니다. 내 대답을 제안으로 업데이트하겠습니다. –
나는 더 우아한 뭔가를 원했지만 어쨌든 고맙습니다. –
- 1. Django의 관리자에서 FileField가 수정되었는지 확인하는 방법은 무엇입니까?
- 2. 웹 페이지가 수정되었는지 확인하는 방법
- 3. 화면이 아직 만져 졌는지 확인하는 방법은 무엇입니까?
- 4. Dalvik 캐시가 수정되었는지 확인하는 방법
- 5. StringGrid의 셀이 수정되었는지 확인하는 방법
- 6. 화면이 잠겨있는 것을 확인하는 방법
- 7. 이미지가 수정되었는지 여부를 감지하는 방법은 무엇입니까?
- 8. iOS에서 파일이 수정되었는지 여부를 감지하는 방법은 무엇입니까?
- 9. Android에서 개발하는 동안 화면이 켜지거나 꺼져 있는지 확인하는 방법은 무엇입니까?
- 10. node.js에서 메모리 누수를 확인하는 좋은 방법은 무엇입니까?
- 11. 날짜와 시간을 확인하는 가장 좋은 방법은 무엇입니까
- 12. 개체가 변경되었는지 확인하는 가장 좋은 방법은 무엇입니까?
- 13. 통화 입력을 확인하는 가장 좋은 방법은 무엇입니까?
- 14. System.DateTime이 자정인지 확인하는 가장 좋은 방법은 무엇입니까?
- 15. 변수가 nil인지 확인하는 가장 좋은 방법은 무엇입니까?
- 16. 열린 파일이 C로 수정되었는지 확인
- 17. 파일이 GWT를 사용하여 수정되었는지 확인하십시오.
- 18. LINQ2SQL : 데이터베이스에 게시하기 전에 Entity 개체가 업데이트/수정되었는지 여부를 확인하는 방법은 무엇입니까?
- 19. 파일이 svn 패치 파일에서 추가/제거/수정되었는지 확인하는 방법
- 20. 양식 필드 값이 수정되었는지 감지
- 21. 현재 화면이 터치를 지원하는지 확인하는 방법이 있습니까?
- 22. 지우기 화면이
- 23. 웹 페이지가 수정되었는지 확인하십시오.
- 24. ObservableCollection이 수정되었는지 감지합니다.
- 25. 디렉토리의 파일이 수정되었는지 확인하십시오.
- 26. 화면이 켜져있을 때 감지하는 방법은 무엇입니까?
- 27. 화면이 잠겨있을 때 서비스를 실행하는 방법은 무엇입니까?
- 28. 개체가 Entity Framework에 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 29. 디렉토리가 BAT 스크립트에서 쓰기 가능한지 확인하는 가장 좋은 방법은 무엇입니까?
- 30. C# SortedList에 키가 있는지 확인하는 가장 좋은 방법은 무엇입니까?
의 수 절약에
을 편집 : 전체의 클래스는 다음과 같이 보일 것이다
? mvvm을 사용하고 있습니까? 그것은 mvvm에서 비교적 쉽고 우아합니다. –
예, 내 태그에서 볼 수 있듯이 Caliburn.micro를 사용합니다. –