Команды Xamarin XAML не стреляют [дубликаты]

Используя ES2017, вы должны иметь это как объявление функции

async function foo() {
    var response = await $.ajax({url: '...'})
    return response;
}

и выполнить его следующим образом.

(async function() {
    try {
        var result = await foo()
        console.log(result)
    } catch (e) {}
})()

Или синтаксис Promise

foo().then(response => {
    console.log(response)

}).catch(error => {
    console.log(error)

})
7
задан Tomasz 15 April 2015 в 09:05
поделиться

1 ответ

Вы можете использовать свойство Source, чтобы указать источник привязки, который будет использоваться вместо текущего BindingContext. Затем текст может исходить из контекста привязки страницы и команды из другого места.

Command="{Binding CategorySelectedCommand, Source={x:Static me:SomeStaticClass.YourUserControl}}"

или

Command="{Binding CategorySelectedCommand, Source={DynamicResource yourUserControlKey}}"

или

Command="{Binding CategorySelectedCommand, Source={x:Reference myUserControl}}"

полный пример. Общей проблемой является не реализовать INotifyPropertyChanged и установить свойство после вызова InitializeComponent().

XAML

<?xml version="1.0" encoding="UTF-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="test.MyPage" x:Name="ThePage">
    <Label Text="{Binding TextProp, Source={x:Reference ThePage}" HorizontalOptions="Center" VerticalOptions="CenterAndExpand" />
</ContentPage>

Код за

public partial class MyPage : ContentPage
{
    public MyPage ()
    {
        this.TextProp = "Some Text";
        InitializeComponent ();
    }

    public string TextProp
    {
        get;
        set;
    }
}
11
ответ дан Krumelur 25 August 2018 в 22:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: