【问题标题】:Xamarin custom model in custom view(BindableProperty)自定义视图中的 Xamarin 自定义模型(BindableProperty)
【发布时间】:2017-03-12 06:09:02
【问题描述】:

好吧,我正在尝试制作一个类似于用户缩略图视图的自定义视图。 视图(ViewCell?)显示 UserModel(我的自定义模型)的缩略图 + 用户名。

这是UploaderCell.xaml.cs中的代码

    public static readonly BindableProperty UploaderProperty = 
        BindableProperty.Create(
            propertyName: "Uploader", 
            returnType: typeof(UserModel), 
            declaringType: typeof(UploaderCell)
        ); 

    public UserModel Uploader
    {
        get
        { return GetValue(UploaderProperty) as UserModel; }
        set 
        { SetValue(UploaderProperty, value); }
    }

这就像<UploaderCell Uploader="{Binding post.uploader}"/>

在其他地方。

我得到的错误是System.InvalidCastException Class 实际上传递错误的数据不是我的错误。

所以我的问题是,是否不可能使用非基本类型(字符串、int 等)制作 BindableProperties?

【问题讨论】:

    标签: xaml xamarin data-binding xamarin.forms


    【解决方案1】:

    是的,可以使用复杂类型,这是我一直在做的事情。您发布的代码看起来是正确的。

    我会检查您的视图模型中的代码,以查看您实际绑定到该值的内容,因为这可能是您的错误的原因。如果您绑定了错误的类型,则可能会导致错误。

    【讨论】:

    • 有什么方法可以调试绑定?? + 我没有使用 MVVM 只是 xaml 和 xaml.cs 一些这样的。(或我的理解错误)这会是一个问题吗?
    • 或者..你能给我一些包含这些概念的示例项目吗?
    【解决方案2】:

    确保您的数据模型具有

    { get; set; }
    

    这个..

    啊..

    【讨论】:

    • 那就行了——如果你的视图模型(我知道你说你没有使用 MVVM,但实际上你是——你绑定的东西是视图模型的所有意图和目的)没有t 使用公共属性作为值,你不能绑定到它们
    猜你喜欢
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多