用于您想要使用的
x:bind
要绑定HeaderTemplate中的按钮,应该找到datacontext并绑定ViewModel。
尝试新建ViewModel并将其设置为datacontext。
public class ViewModel
{
public void Foo()
{
}
}
public MainPage()
{
this.InitializeComponent();
DataContext = new ViewModel();
}
您需要在head中添加数据类型。
DataTemplate x:DataType="local:ViewModel"
下面是xaml中的所有代码。
<NavigationView x:Name="NavView">
<NavigationView.HeaderTemplate>
<DataTemplate x:DataType="local:ViewModel">
<Grid Margin="24,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBlock
Margin="0,0,0,10"
VerticalAlignment="Bottom"
FontSize="28"
Style="{StaticResource TitleTextBlockStyle}"
Text="{Binding}" />
<CommandBar
Grid.Column="1"
Margin="0,0,10,0"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
DefaultLabelPosition="Right">
<AppBarButton
Icon="Edit"
Label="Feedback"
Click="{x:Bind Foo}"/>
<AppBarButton
Icon="OtherUser"
Label="ChangeUser"
Click="{x:Bind Foo}"/>
</CommandBar>
</Grid>
</DataTemplate>
</NavigationView.HeaderTemplate>
</NavigationView>
请按F5运行。
单击可以看到的反馈时,xaml将其称为Foo。