변수 appbar가있는 피벗 컨트롤을 사용하고 있습니다. 보시다시피 appbar는 app.xaml.cs의 리소스에 연결되어 있습니다. 여기에 버튼과 메소드 정보가 들어 있습니다. 잘하는 방법, 다른 섹션으로 이동 중 실제로 하나의의를 변수 appbar pivot이있는 app.xaml.cs의 MainPage에서 메서드를 사용하는 방법
<shell:ApplicationBar x:Key="AppBar1" IsVisible="True" IsMenuEnabled="False">
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.places.png" Text="TEXT" Click="ApplicationBarIconButton_Click11" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.calendar.month.png" Text="TEXT" Click="ApplicationBarIconButton_Click12" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.star.png" Text="TEXT" Click="ApplicationBarIconButton_Click13" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.people.multiple.png" Text="TEXT" Click="ApplicationBarIconButton_Click14" />
</shell:ApplicationBar>
<shell:ApplicationBar x:Key="AppBar2" IsVisible="True" IsMenuEnabled="False">
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.warning.circle.png" Text="TEXT" Click="ApplicationBarIconButton_Click21" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.qr.png" Text="TEXT" Click="ApplicationBarIconButton_Click22" />
</shell:ApplicationBar>
<shell:ApplicationBar x:Key="AppBar3" IsVisible="True" IsMenuEnabled="False">
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.add.png" Text="TEXT" Click="ApplicationBarIconButton_Click31" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.message.png" Text="TEXT" Click="ApplicationBarIconButton_Click32" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.email.png" Text="TEXT" Click="ApplicationBarIconButton_Click33" />
<shell:ApplicationBarIconButton IconUri="/Images/iconos/appbar.warning.circle.png" Text="TEXT" Click="ApplicationBarIconButton_Click34" />
</shell:ApplicationBar>
개의 다른 버튼의 각을 작업 한
: 그것은 다음과 같습니다private void ApplicationBarIconButton_Click11(object sender, EventArgs e)
{
(Application.Current.RootVisual as PhoneApplicationFrame).Navigate(new Uri("/seccmapa/localeslist.xaml", UriKind.Relative));
}
을하지만 지금은이 버튼 중 하나를 원하는 메인 페이지에서 메소드를 호출, 나는이 같은 시도 :
private void ApplicationBarIconButton_Click51(object sender, EventArgs e)
{
((MainPage)App.Current.RootVisual).cambioperfil();
}
그리고 MainPage의 방법이다 :
,363,210public async void cambioperfil()
{
objetoslistas.setprofileinput paquete = new objetoslistas.setprofileinput();
paquete.nickName = nombre.Text;
paquete.statusMessage = status.Text;
paquete.isMen = isMen;
paquete.birthDate = Fecha_nacimiento.Value.ToString();
if (Visibilidad.IsChecked == true)
{
paquete.mapVisibility = true;
}
else
{
paquete.mapVisibility = false;
}
Uri url = new Uri("url");
string respuesta = await metodosJson.jsonPOST(url, paquete);
}
그러나 이것은 마일 예외 제공 :
{System.InvalidCastException: Unable to cast object of type 'Microsoft.Phone.Controls.PhoneApplicationFrame' to type 'X.MainPage'
어떤 생각을?
감사합니다, (. (MainPage) (((System.Windows.Controls.ContentControl) (App.RootFrame)) 컨텐츠)) cambioperfil을 (); – Mulflar