0

私は WPF DatePicker を持っています。他の日付ピッカーと同様に、小さなカレンダー アイコンをクリックして開くことができるカレンダーが組み込まれています。

このカレンダーはポップアップ メニューに配置されているため、1 つのように動作します。つまり、一度開いたら、2 つの方法で閉じることができます。

  • 選択内容を確認します (日付をマウスでクリックし、日付を強調表示して [Enter] を押すなど...)
  • キャンセル (「Echap」を押す、ポップアップの外側をクリックするなど...)

私の問題は、どちらが使用されたかを知る必要があることです。これを行う方法が見つからないようです。

現在、「CalendarClosedEvent」を聞いていますが、カレンダーがどのように閉じられたかはわかりません。

また、「PreviewKeyDownEvent」を使用して「Echap」キーをトラップしました。これはうまく機能しますが、ユーザーがカレンダーの外をクリックしてカレンダーを閉じる場合には対応していません。

これを行う方法はありますか?もしそうなら、それは何ですか?

(注:datePickerのカレンダーオブジェクトではなく、ポップアップメニューオブジェクトに関する一般的な回答に満足しています)

4

1 に答える 1

1

少なくとも DatePicker については、SelectedDate を null に設定できます (実際にはこれがデフォルトなので、そのままにしておきます)。次に、ユーザーがコントロール内をクリックすると、SelectedDateChanged が発生します。

これは、違いを示すために私が見つけた唯一のものです。それが役に立てば幸い。

于 2012-09-21T02:40:29.827 に答える