Xamarin中继器在中继器内

时间:2016-05-20 18:06:51

标签: mvvm xamarin xamarin.forms

我正在使用MVVM架构进行Xamarin.Forms项目。 我对控件有疑问。

我的ViewModel包含一个带有" Song"的属性。对象,Song类包含段落列表和Paragrah类包含字符串列表。

歌曲 - >列出段落

段落 - >列出歌词

我想使用mvvm架构(带有绑定)在一个视图中显示带有Lyrics的段落组。 我可以使用女巫控制吗?

例如:

想象一下,没有天堂

如果你尝试

,这很容易

我们下面没有地狱

我们只有天空

想象一下所有人

为今天而活......

想象一下,没有国家

不难做到

没有什么可以杀死或死亡

也没有宗教信仰

想象一下所有人

和平的生活......

你可能会说我是一个梦想家

但我不是唯一一个

我希望有一天你能加入我们

世界将成为一个

提前致谢,

贝特朗

1 个答案:

答案 0 :(得分:1)

如果要显示文本,我只需在ViewModel上引入Lyric属性。 ViewModel连接所有行并在其间添加新行

class SongViewModel
{
    public string Lyric { get; set; }

    public SongViewModel(Song song)
    {
        Lyric = string.Join(Environment.NewLine, song.Paragraphs.SelectMany(p => p.Lines));
    }

}

class Song
{
    public List<Paragraph> Paragraphs { get; set; }
}

class Paragraph
{
    public List<string> Lines { get; set; }
}

然后将其绑定到Label

<Label Text="{Binding Lyric}" LineBreakMode="WordWrap"></Label>