2016-05-20 9 views
0

私はMVVMアーキテクチャのXamarin.Formsプロジェクトをやっています。 私はコントロールに関する質問があります。リピータのXamarinリピータ

私のViewModelには、 "Song"オブジェクトを持つプロパティが含まれています。Songクラスには、文字列のリストを含むParagraphとParagrahクラスのリストが含まれています。

ソング - >リスト段落

段落 - >リスト歌詞

私は(結合して)MVVMアーキテクチャを使用して、1ビューに歌詞と段落のグループを表示したいと思います。 魔女のコントロールは使えますか?例えば



は何天国はありません想像

あなただけの空に、私たちの上に

たち

以下ません地獄を試みる場合、それは簡単です

想像してすべての人々、今日のために生き

...殺すか

のために死ぬこと

何もしないことは難しいことではありません何の国

はありません想像


また、宗教もありません

すべての人を想像してください

安心して生活をし

...


あなたは、私は夢想家

よしかし、私は、私はあなたが私たちに参加しますいつか願ってい

1だけではないよと言うかもしれません

そして世界は1


のようになります。あなたがテキストを表示したい場合は事前にの

おかげで、

ベルトラン

+0

にバインド?すべての段落のすべての行? –

+0

はい、@ Sven-MichaelStübeというテキストとすべての段落のすべての行のみです。 –

答えて

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 Text="{Binding Lyric}" LineBreakMode="WordWrap"></Label> 
+0

さて、それは動作し、簡単です。あなたのお返事ありがとう –

+0

これがあなたの質問に答えるならば、答えが受け入れられないように答えを受け入れます(チェックマークを押してください)。参照:http://stackoverflow.com/help/someone-answers –