private void AddNotes(NeckString neckString) { foreach (var note in neckString.Notes) { var frame = new Frame { BorderColor = Color.Black, Padding = 0, Margin = 0, BackgroundColor = Color.LightGreen }; var innerFrame = new Frame { BackgroundColor = Color.Transparent, Padding = 0, Margin = 0 }; var label = new Label { Text = $" {note.Note} ", TextColor = Color.Black, FontSize = 20, HorizontalTextAlignment = TextAlignment.Center, VerticalTextAlignment = TextAlignment.Center }; if (note.Set != 0 && setColors.ContainsKey(note.Set)) { innerFrame.BackgroundColor = setColors[note.Set]; innerFrame.CornerRadius = 120; innerFrame.Opacity = 0.7; label.TextColor = Color.White; } innerFrame.Content = label; frame.Content = innerFrame; neckLayout.Children.Add(frame, note.Fret, neckString.String); } }
public NeckString GetAllNotesOfString(NeckString root) { var notes = _noteRepository.GetAll(); var rootIndex = notes.IndexOf(n => n.Name == root.RootNote); var fretNum = 0; var notesOfString = new List <NotePosition>(); for (int i = rootIndex; i < _fretCount + rootIndex && fretNum <= _fretCount; i++) { var note = notes[i]; notesOfString.Add(new NotePosition($" {note.Name}", fretNum)); fretNum++; } root.Notes = notesOfString; return(root); }