绑定UWP页面加载/加载到MVVM命令
最好用PRISM(Prism.Core 6.2,Prism.Windows 6.02)编写,但我也想知道如何将UWP中的Command与页面加载/加载事件绑定到没有Prism的普通MVVM。
在WPF中,它可以通过以下方式实现:
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
在ViewModel中
public ICommand LoadedCommand { get; private set; } public TheViewModelConstructor() { LoadedCommand = new DelegateCommand(Load); } private async void Load() { // Do stuff }
但在UWP中,System.Windows.Interactivity不存在。 只需绑定
Loaded="{Binding LoadedCommand}"
要么
Loading="{Binding LoadingCommand}"
将得到编译错误“对象引用未设置对象的实例”。
我想这样做的原因是因为有一个异步方法需要在页面加载期间或之后完成(它不能在ViewModel构造函数中)。 我可以轻松地使用代码,但这不是MVVM。
如何正确绑定此命令?
UWP中也提供了行为。 只需添加Microsoft.Xaml.Behaviors.Uwp.Managed包即可开始使用。
Microsoft.Xaml.Behaviors.Uwp.Managed v1.x
Microsoft.Xaml.Behaviors.Uwp.Managed v2.x
上述就是C#学习教程:绑定UWP页面加载/加载到MVVM命令分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1016778.html