我正在嘗試使用Caliburn.Micro(用於我的第一個WPF MVVM項目),並且我正在努力使WindowManager.ShowPopup方法將焦點設置爲彈出屏幕。這可能嗎?來自Caliburn的示例HelloWindowManager也沒有這樣做,並且文檔非常輕。Caliburn.Micro ShowPopup - 設置焦點
2
A
回答
1
最終,我無法讓ShowPopup
方法正常工作。
我做的改爲使用ShowWindow
,然後在顯示窗口時使用EventAggregator發佈事件。在的ViewModel中調用 View,我訂閱了該事件,並將ViewModel上的屬性設置爲true(在本例中爲KeywordEntryActive)。
然後我在網格上使用一個樣式,該樣式使用綁定到該屬性的DataTrigger來調用View中的FocusManager.FocusedElement方法。
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding KeywordEntryActive}" Value="True">
<Setter Property="FocusManager.FocusedElement" Value="{Binding ElementName=Command}" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
它似乎比我預期的那麼簡單,但我能做到什麼,我一直在尋找在不犧牲視圖模型和視圖的分離,所以我很滿意它在這一點上。 Caliburn.Micro有一些學習曲線,但到目前爲止,我已經能夠克服我遇到的困難,並且我正在繼續走下去。
相關問題
- 1. Angularjs設置焦點
- 2. nyroModal設置焦點
- 3. 如何在使用Caliburn.Micro時設置Silverlight中表單的初始焦點
- 4. HTML overflow-x設置焦點
- 5. WPF設置焦點問題
- 6. 將焦點設置secondViewController
- 7. 設置焦點從類庫
- 8. IE設置焦點問題
- 9. 焦點設置的fancybox 2
- 10. 將焦點設置爲PanoramaItem
- 11. 在DataGrid中設置焦點
- 12. 在QTableView中設置焦點
- 13. wpf設置焦點問題
- 14. 設置初始焦點
- 15. 設置焦點img src
- 16. 按ID設置焦點角
- 17. 設置焦點在android
- 18. 爲用戶設置焦點
- 19. WPF:無法設置焦點
- 20. 將焦點設置爲UITabBarItem
- 21. 在ASP中設置焦點
- 22. 設置焦點後jAlert
- 23. 當OnClientClick =「ShowPopup()
- 24. 如何設置焦點節點Devexpress TreeListControl
- 25. jQuery |將焦點設置爲輸入(固定焦點)
- 26. 焦點沒有通過抓取焦點的方法來設置
- 27. AspNet設置焦點()的作品,但:焦點樣式不適用
- 28. 從丟失的焦點設置元素的焦點
- 29. 防止視圖偷取焦點/設置焦點到視圖
- 30. 如何設置邏輯焦點而不提供鍵盤焦點?
你想讓你的彈出框爲模態嗎? – 2013-05-02 16:40:43
想知道是否在某個彈出窗口控件上調用'Focus'會起作用(我不認爲有一種方法專注於實際的彈出窗口本身)。如果是這樣,你可以創建一些功能來查看視圖上的名稱元素(使用'IViewAware.GetView()'),並在虛擬機已經安裝後進行聚焦。 – Charleh 2013-05-02 16:49:25
我最終得到了ShowWindow(不是ShowPopup)的組合並且使用EventAggregator將事件發佈到被調用的窗口的ViewModel ...在那裏我設置了一個屬性並在視圖上使用了一個DataTrigger來設置焦點的FocusManager。它可能是黑客,但它似乎工作。 – fussmonkey 2013-05-02 19:56:46