ListBoxにて右クリックでValueFinishedを行いたい

【ご質問】
ListBoxにて値を左クリックで変更するときには”ValueFinished”イベントが
実行されますが、右クリックで変更するときには実行されません。

右クリック時に”ValueFinished”イベントを実行させることは可能でしょうか。

【回答】
ListBox内において、右クリックでイベントを発生させる方法として、
ValueFinishedの代わりにValueChangedを使用する方法が考えられます。

{on ValueChanged at box:ListBox do
    {popup-message “ValueChanged”}
}

また、ValueFinishedを使用する必要がある場合は、
ValueChangedイベントの中でValueFinishedイベントを呼び出すという方法もあります。
動作としてはValueFinishedの代わりにValueChangedを使用した場合とほとんど変わりません。

ListBoxクラスの既定では、ValueFinishedはマウスの左ボタンを
離した際に、イベントが発生するようになっています。
その為、既定のListBoxにおいて、マウスの右ボタンを使用して
ValueFinishedのイベントを発生させることはできません。

PointerReleaseがマウスの左ボタンによって行われた場合は、
ListBoxクラスのfire-value-finishedメソッドが呼び出されるように設定されています。
マウスの右ボタンでPointerReleaseが行われても、
fire-value-finishedメソッドが呼び出されないためValueFinishedは発生しません。

マウス左ボタンのPointerReleaseイベントでのみ、
ValueFinishedイベントが発生するように設定されている理由は、
マウス右ボタンのPointerReleaseイベントを
コンテキストメニューの呼び出しに利用するためです。