Невозможно сослаться на Method
в пределах определенного класса, но на IValueConverter
.
Чтобы добиться того, что вы хотите, вам нужно определить класс, который реализует IValueConverter
:
public class IntToBoolConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return (int)value != 0;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return (bool)value ? 1 : 0;
}
}
Определить созданный конвертер в доступной области: Page / View или Application.Под областью я подразумеваю ресурсы:
<ContentPage.Resources>
<ResourceDictionary>
<local:IntToBoolConverter x:Key="intToBool" />
</ResourceDictionary>
</ContentPage.Resources>
и, наконец, использую конвертер следующим образом:
<Button Text="Search"
HorizontalOptions="Center"
VerticalOptions="CenterAndExpand"
IsEnabled="{Binding Source={x:Reference entry1},
Path=Text.Length,
Converter={StaticResource intToBool}}" />
У Xamarin есть очень хорошая документация , которая ответит на всеваши вопросы, и это, как правило, хорошие примеры кода.