我将共享的Flyout定义为页面资源。弹出窗口由页面上的几个UI按钮引用和共享。当用户从其中一个按钮启动弹出按钮时,它会弹出一个带有OK按钮的简短数据输入表单。当用户激活单击确定按钮时,在代码隐藏处理程序中,我需要确定哪个按钮启动了弹出按钮。怎么做我想我需要使用处理程序参数来实现这个参考。
<Page.Resources>
<Flyout x:Key="PlayerInfo">
<StackPanel>
<TextBlock Text="Enter Player Name:" />
<TextBox x:Name="PlayerName" />
<TextBlock Text="Enter Credits:" />
<TextBox x:Name="Credits" />
<Button Content="OK" HorizontalAlignment="Center" Click="OKButton_Click"/>
</StackPanel>
</Flyout>
</Page.Resources>
<Button x:Name="LeftPlayer" Grid.Row="1" Grid.Column="0" Content="{Binding Players[0], Mode=TwoWay}"
HorizontalAlignment="Left" VerticalAlignment="Center" Foreground="White" FontSize="36"
ToolTipService.ToolTip="Click Here To Add Yourself" Flyout="{StaticResource PlayerInfo}"/>
代码背后:
private void OKButton_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
ViewModel.Players[who (which button) entered info] = PlayerName.Text;
}
我只需要确定哪个按钮启动了共享弹出按钮,这样我就可以将收集到的信息分配回我的视图模型中。