gpt4 book ai didi

c# - 为什么我的事件处理程序不会被调用?

转载 作者:行者123 更新时间:2023-12-02 05:17:15 27 4
gpt4 key购买 nike

我有这个 xaml:

<Button VerticalAlignment="Bottom"
Click="SaveAndGoBack"
IsEnabled="{Binding Frame.CanGoBack,
ElementName=pageRoot}"
Style="{StaticResource BackButtonStyle}" />

...但是在“点击”(单击)后退按钮时,虽然它确实返回到上一页,但未调用 SaveAndGoBack() - 我在第一行有一个断点,而且还没有达到。

该按钮显然已启用,因为我可以选择它并“返回”。那么为什么无法到达事件处理程序?

更新

将 clicked 更改为 tapped 没有区别。这是现在的 XAML:

<Button VerticalAlignment="Bottom"
Tapped="SaveAndGoBack"
IsEnabled="{Binding Frame.CanGoBack,
ElementName=pageRoot}"
Style="{StaticResource BackButtonStyle}" />

...这是方法,在第一行有一个断点,永远不会到达(但返回主页):

private async void SaveAndGoBack(object sender, Windows.UI.Xaml.Input.TappedRoutedEventArgs args)
{
SOs_Locations sos_locs = new SOs_Locations { GroupName = txtbxGroup.Text };
int locNum;
int.TryParse(txtbxLocationNum.Text, out locNum);
sos_locs.LocationTitle = txtbxTitle.Text;
sos_locs.CivicAddress = txtbxAddress.Text;
double lat;
double.TryParse(txtbxLatitude.Text, out lat);
sos_locs.Latitude = lat;
double lng;
double.TryParse(txtbxLongitude.Text, out lng);
sos_locs.Longitude = lng;
if (cmbxDisplayColor.SelectedValue != null)
sos_locs.LocationColor = cmbxDisplayColor.SelectedValue.ToString();
await SQLiteUtils.UpdateLocationAsync(sos_locs);
Frame.Navigate(typeof(MainPage));
}

最佳答案

Click 是与 Tap 不同的事件。您应该寻找一个名为 Tapped 的事件并为其创建一个 OnTapped 处理程序。

我的猜测是针对您的问题。事件不会冒泡,因为在 LayoutAwarePage.cs 中事件设置为已处理。

您可以修改此页面以满足您的需要。寻找 CoreWindow_PointerPressed 方法并寻找它设置 args.Handled = true

的区域

关于c# - 为什么我的事件处理程序不会被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14467756/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com