在另一个页面中显示条目值

Display an entry value in another page

我正在创建一个显示条目和按钮的简单 xaml 页面,我想为按钮创建一个事件以将条目值显示到另一个页面。 我应该使用 MVVM 还是有其他方法可以做到这一点。

这是第一页:

                            <!--  Entry to get machine name  -->
                            <border:SfBorder
                                BackgroundColor="{DynamicResource Gray-Bg}"
                                BorderColor="{Binding Source={x:Reference PasswordEntry}, Path=IsFocused, Converter={StaticResource ColorConverter}, ConverterParameter=3}"
                                Style="{StaticResource LoginFormBorderlessEntryBorderStyle}">
                                <Grid ColumnDefinitions="*, Auto">

                                    <control:BorderlessEntry
                                        Margin="15,0"
                                        HeightRequest="40"
                                        Placeholder="Le nom de la machine"
                                        Style="{StaticResource BorderlessEntryStyle}"/>
                                        
                                    </control:BorderlessEntry>

                                
                                </Grid>
                            </border:SfBorder>

                        </StackLayout>




                        <!--  Scanner button  -->
                        <buttons:SfButton
                            Grid.Row="5"
                            Margin="0,16"
                            
                            HorizontalOptions="Fill"
                            Style="{StaticResource GradientButtonStyle}"
                            Text="Scanner le code QR" 
                            Clicked="Scan"
                           />

                          

                    </Grid>
 </StackLayout>

按钮中的“扫描”方法:

 private void Scan(object sender, EventArgs e)
        {Application.Current.MainPage = new NavigationPage(new Scanner());}

扫描仪页面:

 <StackLayout>
        <Frame BackgroundColor="#2196F3" Padding="24" CornerRadius="0">
            <Label ............ the entry value...... />
   <Label x:Name="scanResultText" FontSize="Large"/>
        <zxing:ZXingScannerView IsScanning="True" OnScanResult="ZXingScannerView_OnScanResult"/>
    
    </StackLayout>

只需通过页面构造函数传递一个值

var value = MyEntryControl.Text;
Application.Current.MainPage = new NavigationPage(new Scanner(value))

并在 Scanner

public Scanner(string value)
{
    InitializeComponent();

    MyLabelControl.Text = value;
}