我在Xamarin.Forms中创建了一个新的自定义控件,该控件从View派生,并使用FontSize属性自定义该自定义控件文本。我将在FontSize中提供Large,Small中型。因此,在FontSize属性上方添加了FontSizeConverter属性。在我的自定义控件中。
[C#]:
public class CustomControl : View, IParentThemeElement
{
[TypeConverter(typeof(FontSizeConverter))]
public double FontSize
{
get { return (double)GetValue(FontSizeProperty); }
set { this.SetValue(FontSizeProperty, value); }
}
public static readonly BindableProperty FontSizeProperty = BindableProperty.Create(
"FontSize", typeof(double), typeof(CustomControl), GetDefaultTextFontSize(), BindingMode.Default, null, OnFontSizePropertyChanged);
}
然后在您的自定义控件的以下示例代码中看到,以字符串形式给出FontSize,它可以正常工作。但是我正在Xml代码中收到警告消息,例如“属性'FontSize'的值无效:'Large'。
[XAML]:
<edit:CustomControl HeightRequest="100" FontSize="Large" x:Name="editor">
我引用了Xamarin.Forms条目FontSize。他们使用相同的代码。但是在Entry中,我没有发现任何警告。任何人都可以帮助解决警告。
谢谢