¿Cambiar MasterDetailPage.Master?
Tengo un MasterDetailPage y necesito reemplazar dinámicamente la página Master sin destruir la página Detail.
public App()
{
InitializeComponent();
MainPage = new MasterDetailPage()
{
Master = new Page1(),
Detail = new NavigationPage(new PageXXX())
};
}
Intenté con el enfoque directo, que parece intuitivo:
private void onTestButtonClicked(object sender, EventArgs e)
{
((MasterDetailPage)(Application.Current).MainPage).Master = new Page2();
}
Pero me arroja un error, que por alguna razón no puedo rastrear hasta la fuente:
Xamarin.Forms.Xaml.XamlParseException: 'Posición 13:17. StaticResource no encontrado para la clave itemTemplate'
¿Cómo reemplazar dinámicamente el Master de MasterDetailPage?
davy.ai
Para reemplazar dinámicamente el Maestro de un MasterDetailPage sin destruir la página de Detalles, puede utilizar el siguiente código:
Este código crea una nueva instancia de la página Maestro deseada, guarda una referencia a la página Detalles existente, establece la nueva página Maestro en el MasterDetailPage y restablece la página Detalles guardada en el MasterDetailPage. De esta manera, la página Detalles permanece intacta mientras se reemplaza dinámicamente la página Maestro.