Нажатие ярлыка вылетает приложение

Я не знаю, что не так с моим кодом. Может кто-нибудь проверить мой код на наличие ошибок / ошибок? Я пытаюсь составить список с контактами. и когда я нажимаю на электронную почту, я хочу отправить письмо на адрес, который я нажимаю. то же самое с номером телефона. Когда я нажимаю на электронную почту или Tlfnr

Мой код xaml.CS:

    private void OnEmailTapped(object sender, EventArgs e)
    {
        var emailMessenger = CrossMessaging.Current.EmailMessenger;
        if (emailMessenger.CanSendEmail)
        {
            emailMessenger.SendEmail(to: ((Label)sender).Text); 
        }
    }

Мой код Xaml:

                                <StackLayout x:Name="EmailTapped">
                                    <Label x:Name="OnEmailTapped" Text="{Binding Email}" TextColor="Black" FontSize="Medium" />

                                    <Label.GestureRecognizers>
                                        <TapGestureRecognizer Tapped="OnEmailTapped" CommandParameter="{Binding Email}"/>
                                    </Label.GestureRecognizers>
                                </StackLayout>

Мои контакты:

namespace App3
{
public class Kontakter
{
    public string Fuldenavn { get; set; }
    public string Tlfnr { get; set; }
    public string Email { get; set; }

    public List<Kontakter> GetKontakter()
    {
        List<Kontakter> kontakter = new List<Kontakter>
    {
        new Kontakter
        {
            Fuldenavn = "bacon (ANSE)",
            Email = "Random@gmail.com",
            Tlfnr = 12345678,
        },
        new Kontakter
        {
            Fuldenavn = "Anja (ANBI)",
            Email = "Random@hotmail.dk",
            Tlfnr = 87654321,
        },
        new Kontakter
        {
            Fuldenavn = "Benn (BMR)",
            Email = "Random@hotmail.com",
            Tlfnr = 12876534,
        },
        new Kontakter
        {
            Fuldenavn = "Christian (CBE)",
            Email = "Nothing@gmail.com",
            Tlfnr = 18273645,
        },
    };
        return kontakter;
    }
}
}

2 ответа

У меня была похожая проблема, он перестал сбой при удалении

if (emailMessenger.CanSendEmail)

Что вы можете сделать, это использовать отправителя в качестве контроля.

Control castControl = (Control)sender

Или установите точку останова, назначьте значение случайной переменной и наведите курсор на объект отправителя.

А затем выполните приведение к определенному типу, который показан при наведении на точку останова.

Я думаю, что отправитель, вероятно, TapGestureRecognizer скорее, чем Label

Хотя мой показывает как Label это просто, чтобы дать вам представление о том, как вы могли бы найти type объекта отправителя

Другие вопросы по тегам