トグルボタンとポップアップを含むコントロールがあります。ToggleButtonをクリックすると、ポップアップが表示されます。ToggleButtonのチェックを外すと、ポップアップが閉じます。さらに、ポップアップから離れてクリックするとポップアップが閉じ、トグルボタンのチェックが外れます。
これを設定するには、ポップアップのStaysOpenプロパティをfalseに設定し、トグルボタンのIsCheckedプロパティをポップアップのIsOpenプロパティに双方向でバインドするように設定します。
1つのケースを除いて、すべてが順調です。ボタンがオンになっていてポップアップが開いている場合、ボタンをクリックしてもポップアップが閉じたり、ボタンがオフに戻ったりすることはありません。
これは、ボタンをクリックすると、ポップアップのStaysOpenロジックがポップアップのIsOpenプロパティをfalseに設定するためであると考えられます。次に、これによりTogglebuttonがオフに設定されます。これは、ボタンのクリックが処理される前に発生する必要があります。したがって、クリックによってボタンが再チェックされます。つまり、競合状態です。
どうすれば私が望む行動をとることができるか考えていますか?