2012-02-26 5 views
0

나는 텍스트 상자와 콤보 상자 등이있는 wpf가 있습니다 ... 그리고 XML 파일로 저장할 수있는 버튼이 있습니다. 그것은 구속력이 없거나 아무것도 아니에요, 그냥 연재하고 있습니다. 이제 텍스트 상자 또는 콤보 상자 중 하나가 수정되면 부울을 설정할 수 있기를 원합니다. 예를 들어 응용 프로그램을 닫으면 부울을 검사하고 저장해야하는지 묻습니다. 모든 이벤트에서이 부울 값을 설정하는 것이 가능하다고 생각할 수 있지만, 너무 많아서이 작업을 수행하는 것이 좋습니다.WPF 수정 된 프로젝트

더 좋은 옵션이 있습니까? 어쩌면 바인딩을 통해? (실제로 바인딩에 대한 프로가 아닙니다)

답변

0
bool TrueExit 
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) 
     { 
if (TrueExit) 
      { 
       MessageBoxResult result = MessageBox.Show("Save?", 
        "The End", MessageBoxButton.YesNo, MessageBoxImage.Stop); 
       if (result == MessageBoxResult.No) 
        e.Cancel = true; 
      } 
0

바인딩은 확실히 WPF에서 선호되는 선택입니다. INotifyPropertyChanged를 사용하면 각 UI 요소 내용을 나타내는 각 속성에 대해 추가 부울을 만들 수 있습니다. 나는 재산 "MyProperty"에 바인딩 된 텍스트 상자가 있다면

그래서, 나는 또한 "IsMyPropertyChanged"라는 부울을 만들고,이 할 것 :

public bool IsMyPropertyChanged { get; set; } 

private string _myProperty; 
public string MyProperty 
{ 
    get 
    { 
     return _myProperty; 
    } 

    set 
    { 
     if (value != _myProperty) 
     { 
      // Update property 
      _myProperty = value; 
      NotifyPropertyChanged("MyProperty"); 

      // Set flag 
      IsMyPropertyChanged = true; 
     } 
    } 
} 
관련 문제