示例#1
0
 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);
     }
 }
示例#2
0
        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);
        }