2012-02-26 8 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; 
     } 
    } 
} 
関連する問題