android 使用AppShell导航执行按钮的弹出项目在导航前单击活动mainpage.cs或secondpage.cs

eimct9ow  于 2023-04-18  发布在  Android
关注(0)|答案(1)|浏览(128)

我需要flyoutItem在执行到所选页面的AppShell路由之前执行以编程方式单击的按钮单击。
(The按钮的代码可以按照遗留项目的预期工作)
我目前只能使用flyoutitems正确导航,并单击活动页面上的按钮,但似乎无法在加载时单击flyoutitem以加载导航到页面上的数据。
在这个例子中,我可以单击一个保存数据的按钮,我可以单击flyoutitem来导航,但我希望flyoutitem单击按钮然后导航:

mainpage.xaml.cs

public MainPage()
{
    InitializeComponent();
    one.Text = Preferences.Get("One", "FIRST");
}

    private void savebtnClicked(object sender, EventArgs e)
{
    one.Text = j1.Text;

    Preferences.Set("One", one.Text);
}

page2.xaml.cs

public page2()
{
    InitializeComponent();

    tone.Text = Preferences.Get("One", "FIRST");
}

AppShell.xaml

<FlyoutItem
    Title="HOME">
    <ShellContent
    ContentTemplate="{DataTemplate local:MainPage}"
    Route="MainPage" />
</FlyoutItem>

<FlyoutItem
    Title="TWO">
    <ShellContent
    ContentTemplate="{DataTemplate local:page2}"
    Route="MainPage" />
</FlyoutItem>

mainpage.xaml

<Editor
           x:Name="j1"
           Placeholder="Empty">
         </Editor>
        
        <Label
            x:Name="one"
            Text=""
            FontSize="32"/>

        <Button
            x:Name="savebtn"
            Text="SAVE"
            Clicked="savebtnClicked"/>

page2.xaml

<Label
            x:Name="tone"
            Text=""
            FontSize="32"/>

目前,传递的值似乎已保存,但需要应用程序在加载本应保存到键“one”的值之前完全重新启动。

u1ehiz5o

u1ehiz5o1#

更新:
我最终使用了“OnAppearing”,然后添加了我的加载首选项。
https://learn.microsoft.com/en-us/dotnet/api/microsoft.maui.controls.page.onappearing?view=net-maui-7.0
不幸的是,这只是另一个项目,我不会学习MVVM,即使我非常想开始实现它。

相关问题