回答
由于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