我有類似於MDI的界面,它看起來像工具欄,選項卡和實際視圖。我使用PRISM進行視圖注入等。Silverlight模式彈出來覆蓋特定容器
這是我正面臨的一個問題..我需要在整個應用程序中顯示模態彈出窗口/對話框。 PRISM有一些解決方案,但它都歸結爲注入Silverlight Popup控件。這效果很好,問題是它阻止了整個屏幕。
在我的應用程序中,我需要這些彈出窗口對我的注入視圖「模態」。好吧,MVVM在一個盒子裏訓練http://visualstudiogallery.msdn.microsoft.com/3ab5f02f-0c54-453c-b437-8e8d57eb9942 在MVVM場景下,Karl展示瞭如何做到我想要的。他通過用UserControl覆蓋Grid來做到這一點。它非常適用於鼠標點擊,但我仍然可以製作並按下按鈕上的Enter,然後執行所有這些操作。如何在屏幕僅顯示彈出窗口模式的情況下如何阻止覆蓋的UI?
謝謝!這看起來很不錯。我正在考慮迭代可視化樹並在彈出窗口顯示時禁用所有可聚焦/可點擊的控件:)將會看到您的解決方案如何工作,這是一個很好的起點。 – katit
@katit在我的解決方案中需要注意的是,有一個動畫可以使彈出窗口顯示,在短暫的毫秒內,可以在Popup背後設置焦點。我有一個基於另一個DependencyProperty(默認情況下它不會執行)的動畫的控件的更高版本,但我從來沒有更新博客文章。 – Rachel
其實,我無法採取你的解決方案,因爲在Silverlight中沒有FOcusManager。但是你給了我並且想法我應該尋找什麼。我想知道是否有「內置」解決方案,但我猜如果WPF中存在這樣的問題 - Silverlight可能更糟糕,我將不得不圍繞它進行編碼。 – katit