为了账号安全,请及时绑定邮箱和手机立即绑定

当从主页视图中的菜单项触发事件时,如何在实际登陆页面的视图模型中引发事件?

当从主页视图中的菜单项触发事件时,如何在实际登陆页面的视图模型中引发事件?

PHP
鸿蒙传说 2024-01-20 22:32:11
在两种视图模型(主页和登录页面)中,都有相同的方法,称为“SaveEntry”。如果单击菜单项,则在主页视图中实现,在主页处于活动状态的情况下,必须执行主视图模型中的“SaveEntry”方法。 在另一种情况下,当登录页面处于活动状态并且我单击主视图中的菜单项时,必须执行视图模型登录页面中的“SaveEntry”方法。从主页到登陆页面的导航由路由事件实现:MainContentFrame.NavigateToType(typeof(WriteEntryPage), null, navOptions);我该如何实现?
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

根据您的要求,您可以使用 NavigationView 作为导航来处理页面导航,使用 Command 绑定 loaded 事件,然后在加载页面时在视图模型中执行。SaveEntry


<interactivity:Interaction.Behaviors>

    <core:EventTriggerBehavior EventName="Loaded">

        <core:InvokeCommandAction Command="{x:Bind ViewModel.ViewLoadedCommand}" />

    </core:EventTriggerBehavior>

</interactivity:Interaction.Behaviors>

视图模型


public class MainViewModel : ViewModelBase

{

    public RelayCommand ViewLoadedCommand { get; private set; }

    public MainViewModel()

    {

        ViewLoadedCommand = new RelayCommand(SaveEntry);

    }



    private void SaveEntry()

    {

        // save entry.

    }

}


查看完整回答
反对 回复 2024-01-20
  • 1 回答
  • 0 关注
  • 41 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信