私は WPF DatePicker を持っています。他の日付ピッカーと同様に、小さなカレンダー アイコンをクリックして開くことができるカレンダーが組み込まれています。
このカレンダーはポップアップ メニューに配置されているため、1 つのように動作します。つまり、一度開いたら、2 つの方法で閉じることができます。
- 選択内容を確認します (日付をマウスでクリックし、日付を強調表示して [Enter] を押すなど...)
- キャンセル (「Echap」を押す、ポップアップの外側をクリックするなど...)
私の問題は、どちらが使用されたかを知る必要があることです。これを行う方法が見つからないようです。
現在、「CalendarClosedEvent」を聞いていますが、カレンダーがどのように閉じられたかはわかりません。
また、「PreviewKeyDownEvent」を使用して「Echap」キーをトラップしました。これはうまく機能しますが、ユーザーがカレンダーの外をクリックしてカレンダーを閉じる場合には対応していません。
これを行う方法はありますか?もしそうなら、それは何ですか?
(注:datePickerのカレンダーオブジェクトではなく、ポップアップメニューオブジェクトに関する一般的な回答に満足しています)