回答
由於Cursor
是與UI相關的屬性,因此應該將該遊標設置在視圖中,而不是ViewModel中。 this.Cursor
應該正常工作從代碼隱藏查看
如果您Cursor
是基於什麼東西在ViewModel
比如,如果它的加載數據,然後使用DataTrigger
在XAML來改變光標的時候像一個IsLoading
屬性設置爲true
<Style TargetType="{x:Type Window}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsLoading}" Value="True">
<Setter Property="Cursor" Value="Wait" />
</DataTrigger>
</Style.Triggers>
</Style>
我需要使用特定方法完成工作時更改光標。我沒有IsLoading這樣的財產。我想在這個方法的開始處設置光標並在最後改回。有沒有其他的方法?此外,這是如何工作,因爲它全部在主線上? – 4thSpace 2012-01-11 18:11:20
@ 4thSpace如果你的方法在'ViewModel'中,那麼在ViewModel上創建一個'IsLoading'屬性並使用'DataTrigger'是個好主意。 ViewModels不應該關心用戶界面,並且包括遊標。 – Rachel 2012-01-11 18:18:08
@ 4thSpace我不確定你爲什麼關心線程。這可能是唯一一個問題,如果你正在後臺線程上進行處理。然後,您必須記住在開始處理之前或使用「Dispatcher」來執行在主線程上更新IsLoading屬性的操作。 – Rachel 2012-01-11 18:19:44
檢查this question,尤其是與OverrideCursor
類的答案。
- 1. 如何更改DataGrid列的標題在後面的代碼?
- 2. 其他字符更改標籤「稱號」,在後面的代碼
- 3. WPF - 在代碼後面更改代碼樣式
- 4. 從代碼更改visibility屬性後面
- 5. 如何更改代碼後面的ItemsPanelTemplate?
- 6. 從後面的代碼Sileverlight更改值
- 7. 更改代碼中的桌面圖標
- 8. 如何在VS代碼中更改光標?
- 9. 更改後面C#代碼中的標籤
- 10. 從c#代碼後面更改按鈕標籤
- 11. 在更改默認光標後更改指針
- 12. 更改彈出式面板的光標
- 13. 在NSTextView中更改光標
- 14. 在asp.net中更改光標
- 15. 在QGraphicsView中更改光標
- 16. 查詢中更改光標後 - onStart()?
- 17. 任務完成後更改光標
- 18. Android ListView更改光標後不刷新
- 19. Java SWT沒有自動光標更改manuel光標後
- 20. asp.net更改gridview的代碼後面的代碼格值
- 21. Java更改光標
- 22. 更改光標VB.NET
- 23. 更改光標隱藏光標
- 24. JavaScript更改光標圖標
- 25. 更改背後的代碼
- 26. 更改ABAP標準代碼
- 27. 在html頁面上更改鼠標光標
- 28. 在某些組件上更改鼠標光標而不影響其他光標設置代碼
- 29. 更改innerHTML後更改contenteditable div中的光標位置
- 30. Android SearchView在提示圖標後更改光標位置
'this'的類型是什麼? – 2012-01-11 17:56:44