我正在尝试从XAML文件访问方法类。
我的课在文件夹上:project.Utils。
在xaml内容页面上添加:
xmlns:local="project.Utils"
我尝试在Utils文件夹中使用myConverterMethod
类,并将其用作:
Converter={StaticResource myConverterMethod}
但是error Type myConverterMethod not found in xmlns project.Utils
。
我的错在哪里?
答案 0 :(得分:0)
您可以使用
xmlns:local="clr-namespace:project.Utils;assembly=project"
答案 1 :(得分:0)
在特定类中不能引用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;
}
}
在可访问范围内定义创建的转换器:页面/视图或应用程序。范围是指资源:
<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有一个非常不错的documentation,它将回答您所有的问题,并且通常具有良好的代码示例。