BindableProperty错误

时间:2018-05-06 08:34:34

标签: c# xamarin xamarin.forms

我有一个带有一些可绑定属性的自定义视图。有一些问题,所以当我尝试打开页面时,它将无法打开。我没有收到错误或输出。使用FreshMVVM推送页面模型。

当我删除BindableProperty BarcodeTypeProperty时,页面会打开。

public class BarcodeView : Image
{
    public static readonly BindableProperty BarcodeValueProperty = BindableProperty.Create(nameof(BarcodeValue), typeof(string), typeof(BarcodeView));
    public string BarcodeValue
    {
        get => (string)GetValue(BarcodeValueProperty);
        set => SetValue(BarcodeValueProperty, value);
    }

    public static readonly BindableProperty BarcodeTypeProperty = BindableProperty.Create(nameof(BarcodeType), typeof(BarcodeType), typeof(BarcodeView));
    public BarcodeType BarcodeType
    {
        get => (BarcodeType)GetValue(BarcodeTypeProperty);
        set => SetValue(BarcodeTypeProperty, value);
    }
}

BarcodeType是枚举:

public enum BarcodeType
{
    DataMatrix,
    Pdf417
}

Xaml中的用法:

<view:BarcodeView BarcodeType="{Binding BarcodeType}" BarcodeValue="abcd"/>

1 个答案:

答案 0 :(得分:0)

尝试给BarcodeTypeProperty一个默认值,因为枚举不能为空。

public static readonly BindableProperty BarcodeTypeProperty = BindableProperty.Create("BarcodeType", typeof(BarcodeType), typeof(BarcodeView), BarcodeView.DataMatrix);