【发布时间】:2014-05-08 11:05:37
【问题描述】:
我在 App.xaml 中声明了一个全局 AppBar:
<Application.Resources>
<shell:ApplicationBar x:Name="mAppBar_Favorites" Mode="Default" Opacity="1.0" IsMenuEnabled="True" IsVisible="True">
<shell:ApplicationBarIconButton IconUri="/mAppData/feature.camera.png" Text="Kamera" Click="btnAppBar_OpenCamera_Click"/>
<shell:ApplicationBarIconButton IconUri="/mAppData/edit.png" Text="Favoriten" Click="btnAppBar_EditFavorites_Click"/>
<shell:ApplicationBarIconButton IconUri="/mAppData/refresh.png" Text="Refresh" Click="btnAppBar_ReloadMainPage_Click"/>
<shell:ApplicationBarIconButton IconUri="/mAppData/sort.png" Text="Sortieren" Click="btnAppBar_SortOrder_Click"/>
<shell:ApplicationBar.MenuItems>
<shell:ApplicationBarMenuItem Text="Einstellungen" Click="btnAppBar_ShowSettings_Click"/>
<shell:ApplicationBarMenuItem Text="Über WhaGoO" Click="btnAppBar_About_Click"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</Application.Resources>
在 App.xaml.cs 中,我定义了按钮单击事件的方法,如下所示:
private void btnAppBar_SortOrder_Click(object sender, EventArgs e)
{
MessageBox.Show("Sortierreihenfolge der Listeneinträge ändern...");
}
在某些页面上,我在代码后面的页面中显示带有此代码的 AppBar:
this.ApplicationBar = ((ApplicationBar)Application.Current.Resources["mAppBar_Favorites"]);
为此,一切正常。但是现在,在某些页面上,我必须有权访问页面的 PivotControl 才能决定要导航到的 Uri。例如,全局 AppBar 的“刷新”按钮会发生这种情况:
private void btnAppBar_ReloadMainPage_Click(object sender, EventArgs e)
{
int mPivotIndex = Convert.ToInt16(pvtMainPivot.SelectedIndex.ToString());
if (mPivotIndex == 1)
{
// Tab "Umgebung" aktualisieren:
MainPage.fGetSurroundings();
}
}
我的应用有一个主页面 PivotPage。现在我用更多页面扩展它,并且不想将 AppBar“复制”到每个新页面。
如何解决这些导航和访问页面项目的问题?
【问题讨论】:
-
您应该考虑 MvvM 方法。这又是 WinForms,相信我,你会发现开发很困难。
标签: c# xaml windows-phone-8