C#,xamarin,绑定了许多对象

时间:2019-02-28 23:17:38

标签: c# xamarin binding

因此,我有一堆通过代码添加到显示器的Frame对象(它们的数量是可变的)。忠实于MVVM,我需要将每种颜色的背景色绑定到模型中的某些东西。因此绑定很简单:

Frame f1 = new Frame();
f1.SetBinding(Frame.BackgroundColorProperty, "BackColor1");
Frame f2 = new Frame();
f2.SetBinding(Frame.BackgroundColorProperty, "BackColor2");

以此类推。那只是一个简单的例子,真实的东西是循环的。在模型中:

Xamarin.Forms.Color BackColor1
{
    get
    {
        return Color.Black;
    }
}

Xamarin.Forms.Color BackColor2
{
    get
    {
        return Color.White;
    }
}

以此类推。这对于一些对象来说很好用,但是如果有50个呢? 100?我不想在类中创建100个BackColor属性。那就是疯狂。我现在只在C#和xamarin中玩了几周,所以我还有很多东西需要学习。当您需要绑定大量这样的对象时,什么才是忠于MVVM的最佳方法?

1 个答案:

答案 0 :(得分:0)

分配后,这些颜色会改变吗?如果是这样,则无需停留在“真正的MVVM”中,我假设您的意思是“使用绑定”。真正的MVVM不需要对所有内容都使用绑定,实际上,如果实例化对象后属性的值不会改变,那么使用绑定就显得过头了。可以为属性使用静态值,并且仍在“ true MVVM”之内。实际上,如果不更改值,或者甚至不经常更改值,则属性的静态值会更好,因为绑定确实会带来一些性能开销。因此,基本上,每次实例化一个新的Frame时,只需静态设置BackgroundColor。