如何在Xamarin.Forms中使用ContentProperty?

时间:2018-06-19 11:27:03

标签: c# xamarin xamarin.forms

我有以下代码 我的页面XAML: <?xml版本=“ 1.0”编码=“ utf-8”?>               和ContainerWithShadow类用于存储视图 使用Xamarin.Forms; 命名空间Coodo.Effects {     [ContentProperty(“ ContainerContent”)]     公共类ContainerWithShadow:ContentView     {         公开查看ContainerContent {get;组; }     } } 但是我来自XAML的Label没有绑定到ContainerWithShadow.ContainerContent。如果设置断点,代码不会在setter处停止。

1 个答案:

答案 0 :(得分:0)

ContainerContent 属性必须为 BindableProperty 。需要更改以下代码:

[ContentProperty("Conditions"), Preserve(AllMembers = true)]
public class ContainerWithShadow : ContentView
{

    public static readonly BindableProperty StateProperty = BindableProperty.Create(nameof(ContainerWithShadowChild), typeof(object), typeof(View), propertyChanged:PropertyChanged);

    private static void PropertyChanged(BindableObject bindable, object oldvalue, object newvalue)
    {
    }

    public View ContainerWithShadowChild
    {
        get => (View)GetValue(StateProperty);
        set => SetValue(StateProperty, value);
    }
}

代码将正常工作。