使用Mvvm助手进行数据绑定

时间:2017-03-14 16:26:04

标签: c# xamarin mvvm data-binding xamarin.forms

我尝试使用MvvmHelpers绑定一些数据,方法是创建一个对象并绑定该对象。

https://github.com/jamesmontemagno/mvvm-helpers

在我的模型中,我有几个要绑定的数据,所以我只是快速模板化了我正在处理的内容。

如果我将NameModel内部的内容移动到NameViewModel,它确实有效,但我尝试分开我的数据。

型号:

public class NameModel : BaseViewModel
    {
        string name;

        public string Name
        {
            get { return name; }
            set { SetProperty(ref name, value); }
        }
    }

查看型号:

public class NameViewModel : BaseViewModel
    {
        NameModel nameModel;

        public NameViewModel()
        {

            nameModel = new NameModel { name="Jon Doe" };
        }
    }

Page.xaml.cs

public partial class NamePage : ContentPage
    {
        public NamePage()
        {
            InitializeComponent();
            BindingContext = new NameViewModel();
        }
    }

Page.xaml:

<ContentPage 
    xmlns="http://xamarin.com/schemas/2014/forms" 
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" 
    x:Class="NameProj.NamePage">
    <StackLayout
        Orientation="Vertical" >
        <Label
            HorizontalOptions="FillAndExpand"
            VerticalOptions="FillAndExpand"
            BackgroundColor="Transparent"
            Text={Binding Name}/>
    </StackLayout>
</ContentPage>

2 个答案:

答案 0 :(得分:1)

您是否尝试将其更改为nameModel.Name

<Label
        HorizontalOptions="FillAndExpand"
        VerticalOptions="FillAndExpand"
        BackgroundColor="Transparent"
        Text="{Binding nameModel.Name}"/>

希望它有所帮助!

答案 1 :(得分:1)

NameModel nameModel;

我认为应该公开

public NameModel nameModel {get; set;}

是的,我认为@mindOfAi是正确的