我有一個包含Togglebutton和Popup的控件。當點擊ToggleButton時,彈出窗口出現。當ToggleButton未選中時,彈出窗口應該關閉。此外,從彈出窗口中單擊應導致它關閉,並導致Togglebutton取消選中。wpf中的Popup和Togglebutton交互
我已經通過將Popup的StaysOpen屬性設置爲false,並將切換按鈕的IsChecked屬性設置爲雙向綁定到Popup的IsOpen屬性來進行設置。
除了一種情況以外,一切正常 - 選中該按鈕並打開彈出窗口,單擊按鈕不會導致彈出窗口關閉,或者按鈕返回未選中狀態。
我相信這一定是因爲單擊該按鈕會導致Popup的StaysOpen邏輯將Popup的IsOpen屬性設置爲false。反過來,這會將Togglebutton設置爲未選中狀態。這必須發生在我點擊按鈕之前 - 所以點擊重新檢查按鈕,即競爭條件。
任何想法如何我可以得到我想要的行爲?
這是完美的,謝謝。 – 2011-04-28 16:39:19
這種方法的一個問題是,如果您在彈出窗口外單擊,它實際上不會點擊任何內容。你不想點擊「ToggleButton」,但你想點擊其他所有 – svick 2012-10-31 15:31:44