2009-08-07 16 views
1

ここでの簡単な質問:ContextMenu(または同等の意味ではPopup)コントロールのStaysOpenプロパティは実際に何をしていますか?私は行動の違いを観察しようとしましたが、何も気づいていません。ContextMenu.StaysOpenプロパティ(WPF)

MSDNには、以下の状態:

真のメニューがfalseにのIsOpenプロパティが変更されるまで開いたままにする必要がある場合。それ以外の場合はfalseです。デフォルトはfalseです。

しかし、これは実際にはかなり曖昧で、私には役に立たない。私は以前、ポップアップは、IsOpenがコードからfalseに設定されているときにのみ閉じられると推測していましたが、フォーカス/マウスキャプチャ(私の望む動作)が失われたときではありませんでしたが、そうではないようです。

誰かがこのプロパティの意味を正確に説明できますか?理想的には、事例の違いが最も有益であることを証明する例があります。最後に、もしあなたが私の望む行動を得る方法があれば、それは素晴らしいことでしょう。

+0

私はこれを発見しました:http://www.dreamincode.net/forums/showtopic86075.htm –

答えて

1

答えは、ContextMenuがマウスをキャプチャするため、マウスがキャプチャを失ったときにコントロールが自動的にポップアップを閉じるように配線されているため、ポップアップが必然的に閉じられることです。おそらく、設計上の欠陥でしょうか?しかし、原始的なPopupコントロールを使用することによって克服することができ、適切な場合はToolTipと思われます。

関連する問題