我曾经使用网页前端,在转移到Xamarin.Forms及其XAML之后,我倾向于错过一些特定的功能。
我是HTML,您可以向对象添加一些属性,只是为了存储一些有关它的其他信息:
<div x-show-success-message="Completed!" class="someObjectType"></div>
然后,您可以随时从此x-some-custom数据中获取数据。
我在XAML中寻找类似的东西。我创建完全新对象的唯一方法(在Xamarin中称为View):
public class ButtonWithStorage : Button
{
public static readonly BindableProperty StringDataProperty = BindableProperty.Create(
propertyName: "StringData",
returnType: typeof(string),
declaringType: typeof(ButtonWithStorage),
defaultValue: default(string));
/// <summary>
/// You can put here some properties
/// </summary>
public string StringData
{
get { return (string)GetValue(StringDataProperty); }
set { SetValue(StringDataProperty, value); }
}
}
然后在XAML中使用它,如:
<x:ButtonWithStorage StringData="Some property" />
它确实有效,但它不方便&#34;。它需要每次我想添加一些自定义属性时配置新对象,并且不适用于现有的XAML对象,如<StackLayout>
有没有更好的方法呢?
PS:如果它在XAML中的某些内容,例如&#34; class&#34;那么也很高兴知道。 HTML中的属性,您通常可以在其中命名某些特定类型的对象。