Xamarin.forms 向自定义UI库中定义的类添加样式
目前,我正在开发一个UI库,它应该包含自定义UI元素、布局和对话框,以便有一个一致且可重用的UI集合 在我的项目中,当前结构如下:Xamarin.forms 向自定义UI库中定义的类添加样式,xamarin.forms,xamarin.forms-styles,Xamarin.forms,Xamarin.forms Styles,目前,我正在开发一个UI库,它应该包含自定义UI元素、布局和对话框,以便有一个一致且可重用的UI集合 在我的项目中,当前结构如下: UILib(库的共享代码) Droid(包含自定义渲染的android库等) UILib.iOS(包含自定义渲染器等的iOS库) UILibDemo(用于使用库的演示应用程序的共享代码) Droid(演示应用程序Android) UILibDemo.iOS(演示应用程序iOS) 在我的库中,我有一个类“LoadingDialog”,到目前为止它工作得很好。 但是
- UILib(库的共享代码)
- Droid(包含自定义渲染的android库等)
- UILib.iOS(包含自定义渲染器等的iOS库)
- UILibDemo(用于使用库的演示应用程序的共享代码)
- Droid(演示应用程序Android)
- UILibDemo.iOS(演示应用程序iOS)
有什么建议我可能做错了什么吗?解决了它。供进一步参考: 问题是登记为“FontFamily”的BindableProperty与实际的property不匹配
public string LabelFontFamily
{
get { return (string)GetValue(FontFamilyProperty); }
set { SetValue(FontFamilyProperty, value); }
}
将属性更改为
公共字符串系列
解决了这个问题 我认为这可能是命名问题导致了您的错误 可绑定属性使用一些“魔法”,其中
属性名称
和可绑定属性
需要命名为相同的名称,但可绑定属性的末尾有一个单词属性
注意您的BindableProperty
是如何被称为fontfamine
将其更改为下面的应该可以修复您的错误
public static BindableProperty LabelFontFamilyProperty = BindableProperty.Create("LabelFontFamily", typeof(string), typeof(string), Font.Default.FontFamily);
public string LabelFontFamily
{
get { return (string)GetValue(FontFamilyProperty); }
set { SetValue(FontFamilyProperty, value); }
}
谢谢你的回答,我自己刚找到的。有时是小事情+1用于添加的解释=)
public string LabelFontFamily
{
get { return (string)GetValue(FontFamilyProperty); }
set { SetValue(FontFamilyProperty, value); }
}
public static BindableProperty LabelFontFamilyProperty = BindableProperty.Create("LabelFontFamily", typeof(string), typeof(string), Font.Default.FontFamily);
public string LabelFontFamily
{
get { return (string)GetValue(FontFamilyProperty); }
set { SetValue(FontFamilyProperty, value); }
}