我发现,官方NavigationView是在Visual Studio的较新版本中引入的,可以帮助轻松实现Hamburger布局,并且通过将属性IsSettingsVisible
设置为True
,可以自动进行是底部的设置按钮。
我的问题很简单:如何处理此设置按钮的click事件?我找不到任何相应的属性。
<NavigationView PaneDisplayMode="LeftCompact" IsSettingsVisible="True">
<!--I'm expecting some codes like below-->
<NavigationView.SettingsButton Click="SettingsButton_Click"/>
</NavigationView>
答案 0 :(得分:1)
在ItemInvoked
事件中注册一个新方法,并检查是否通过此方法调用了“设置”按钮:
C#:
private async void NavigationView_ItemInvoked(NavigationView sender, NavigationViewItemInvokedEventArgs args) {
if (args.IsSettingsInvoked) {
// Code here
}
}
XAML:
<NavigationView IsSettingsVisible="True" ItemInvoked="NavigationView_ItemInvoked">
<!-- Your XAML -->
</NavigationView>
答案 1 :(得分:1)
拉莫斯(Ramos)答案的缺点是,当单击设置按钮时也会被选中。如果您想打开一个内容对话框,那很可能不是适合您的解决方案。我发现了另一种方法:
null
还要确保使用<NavigationView.PaneFooter>
<Button Background="Transparent" BorderThickness="1" HorizontalAlignment="Center"
Height="40" Width="40"
Click="SettingsButton_OnClick">
<SymbolIcon Symbol="Setting"/>
</Button>
</NavigationView.PaneFooter>
禁用其他设置按钮。
注:导航视图的默认图标大小会随着时间的变化而变小。将来40 Pixel可能不再是正确的尺寸。您当然可以轻松地纠正它。 Link to the issue