我正在使用Windows 8.1应用。我在项目中添加了一个基本页面,它会自动添加一个后退按钮:
<Button x:Name="backButton"
Margin="39,59,39,20"
Command="{Binding NavigationHelper.GoBackCommand, ElementName=pageRoot}"
Style="{StaticResource NavigationBackButtonNormalStyle}"
VerticalAlignment="Top" />
按钮工作正常。但是,当我将此按钮移动到AppBar时,它不起作用。该视图不会返回上一页 后一种情况出了什么问题?
答案 0 :(得分:1)
AppBar与页面不在同一名称空间中,因此命令绑定到页面的NavigationHelper属性无法解析。 AppBar与页面的任何绑定都是这种情况。
您可以通过将AppBar的DataContext设置为page中的页面来解决此问题。已加载
XAML
<Page.BottomAppBar>
<AppBar x:Name="bottomAppBar" IsOpen="True">
<Button x:Name="backButton"
Margin="39,59,39,20"
Command="{Binding NavigationHelper.GoBackCommand}"
Style="{StaticResource NavigationBackButtonNormalStyle}"
VerticalAlignment="Top" />
</AppBar>
</Page.BottomAppBar>
C#
public BasicPage1()
{
this.InitializeComponent();
this.navigationHelper = new NavigationHelper(this);
this.navigationHelper.LoadState += navigationHelper_LoadState;
this.navigationHelper.SaveState += navigationHelper_SaveState;
this.Loaded += BasicPage1_Loaded;
}
async void BasicPage1_Loaded(object sender, RoutedEventArgs e)
{
bottomAppBar.DataContext = this;
}
- 罗布