2009-05-25 26 views
0

私は2つのタブアイテムを持っています。ユーザーはいくつかのデータを入力し、最初のタブに保存します。 2番目のタブには保存されたデータがリストされます。私が必要とするのは、ユーザーが最初のタブにデータを保存する前に2番目のタブを選択すると、はい、いいえおよびキャンセルの確認メッセージボックスが表示されます。ユーザーが[はい]ボタンをクリックすると、データが保存され、2番目のタブに移動します。彼がNoを押すと、データを保存する必要はなく、最後にCancelを押すと、入力したすべてのデータが保持されます。どうすればいい?タブの切り替えの確認

答えて

0

簡単にするために、コードビハインドファイルで以下の操作を行うことができます。

WPFコントロールで表示および編集するデータのModelクラスを作成します。モデルにINotifyPropertyChangedIEditableObjectインターフェイスを実装させる。

INotifyPropertyChangedは、モデルにバインドすることができます。 IEditableObjectは、編集、保存、キャンセル機能を提供します。

TabControlのはあなたが使用することができますMessageBoxResultオブジェクトを返しますSystem.Windows.MessageBox.Show()、このハンドラでは、あなたがなどを保存するようにユーザーに依頼するSystem.Windows.MessageBoxを使用することができ、ユーザーはタブを変更したときに検出することができるようになりますあなたが扱うことができるSelectionChangedイベントを、持っていますユーザーがクリックしたボタンを決定し、適切な操作を実行します。

これはやり方を変えるものではありませんが、単純なことですが、WPFデザインパターンを調べて、コード管理性を助けてください。

さらに説明が必要な場合は、尋ねてください。

0

DelphiのTPageControlには、 "AllowChange"パラメータを持つOnChangingイベントがあります。私はWPFに似たようなものがあると思います。私は道に反対するものの

1

私はユーモアあなたをするつもりタブにタブからユーザーの流れを中断し、質問に答える:

あなたはこれを成し遂げるために二つのものが必要になります:

    をタブが選択された
  1. 前のタブ(あなたがから来た1)

最初のiをクリックしたときに発生する

  • イベントTEM:

    Click=”MyTabButton_Click” 
    

    2番目の項目::

    手動で行う必要があるでしょう。この部分を

    タブコントロールは、あなたが購読することができますクリックしてメソッドを持っています。どのタブが最後に選択されたかを示す変数をクリックイベントに設定できます。これが設定されると、以前に選択されたタブについて変数(以前に設定したもの)をチェックすることができます。すべての検証を行うことができます。

  • 関連する問題