Xamarin.forms 如何在xaml中设置自定义控件xamarin窗体的属性

Xamarin.forms 如何在xaml中设置自定义控件xamarin窗体的属性,xamarin.forms,Xamarin.forms,我的目标是使用xaml从页面设置自定义控件的属性。我正在尝试创建一组自定义菜单项,这些菜单项看起来都一样,但每个菜单项都包含不同的标题。如何从Xaml设置每个菜单项的标题? 例如,我把我的实际代码从项目简化为一些简单的东西 我想做的是这样的: <local:CustomControl someCustomAccessor="some text"> class CustomControl: ContentView{ private string someTe

我的目标是使用xaml从页面设置自定义控件的属性。我正在尝试创建一组自定义菜单项,这些菜单项看起来都一样,但每个菜单项都包含不同的标题。如何从Xaml设置每个菜单项的标题? 例如,我把我的实际代码从项目简化为一些简单的东西

我想做的是这样的:

    <local:CustomControl someCustomAccessor="some text">
    class CustomControl: ContentView{

    private string someText { get; set; }

    public static BindableProperty TitleProperty = BindableProperty.CreateAttached("someCustomAccessor", typeof(string), typeof(CustomControl), null, BindingMode.TwoWay);

    public CustomControl()
    {
        Content = new Label
        {
            Text = someText
        };
    }

    private string someCustomAccessor
    {
        get { return someText; }
        set { someText = value; }
    }
}

我到处都找过这样的东西,结果都没找到。请帮忙。

我已经有一段时间没有做过类似的事情了,但根据我的Silverlight经验

.CreateAttached(“someCustomAccessor”

告诉绑定引擎查找名为someCustomAccessor的公共属性,您的属性当前为私有属性,需要为公共属性。同时将大小写更改为someCustomAccessor

另外,活页夹不知道它是字符串,因此需要在get;set

public string SomeCustomAccessor
{
    get { (string)GetValue(TitleProperty); }
    set { SetValue(TitleProperty, value); }
}

另外,您的示例中的绑定是双向的,可能只需要单向绑定,但一旦它正常工作,您可以对其进行更改。

您需要公开您的属性。正是这样。谢谢