如何在现有View中添加自定义设置/属性?

时间:2016-06-21 09:05:37

标签: c# xaml xamarin xamarin.forms

我曾经使用网页前端,在转移到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中的属性,您通常可以在其中命名某些特定类型的对象。

0 个答案:

没有答案