2
respostas

Passar parâmetros no construtor da page XAML usando MasterDetail

Olá, galera! Seguinte tem um XAML chamado "PerfilView" que recebe um parâmetro no construtor , o problema que na hora de implementar conforme o código abaixo na parte de TargetType=typeof(PerfilView) , onde eu informa pagina , ele na aceita construtor TargetType=typeof(PerfilView(usuario)) , Alguém pode me dizer como resolvo isso ?

 MenuItems = new ObservableCollection<MasterDetailViewMenuItem>(new[]
               {               
                    new MasterDetailViewMenuItem { Id = 1, Title = "Meu perfil" , TargetType=typeof(PerfilView) }                 
                });
2 respostas

Olá, Wesley

Realmente, o código abaixo é inválido

TargetType=typeof(PerfilView(usuario))

Ele é inválido porque typeof exige um tipo, e você está passando uma chamada, em vez do tipo.

Mas primeiro eu gostaria de saber o que você quer fazer exatamente aqui. Você quer que os itens do menu possuam uma referência para a View?

Bom dia, Marcelo! Você tinha razão eu estava no lugar errado, mas eu consegui resolver com esse código no lugar correto:

if (item.TargetType == typeof(PerfilView) || item.TargetType == typeof(MasterDetailViewDetail)) page = (Page)Activator.CreateInstance(item.TargetType, GetLogin); else page = (Page)Activator.CreateInstance(item.TargetType);

Valeu! abraço.