コード例 #1
0
 /// <summary>
 /// Initialize offset for this page
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void PianoKeys_OnLoaded(object sender, RoutedEventArgs e)
 {
     _pianoRollContext = this.DataContext as PianoRollContext;
     foreach (var item in
              from object item in PianoKeys.ItemsSource
              let key = item as KeyContext
                        where key.Value == PianoRollContext.TopKey
                        select item)
     {
         PianoKeys.ScrollTo(item);
         _cellWidth = (_items[item].ActualWidth * 4) / (5 * 16);
     }
 }
コード例 #2
0
 /// <summary>
 /// Query database and load the information for sample
 /// </summary>
 /// <param name="sampleId">ID of loading sample</param>
 public override void LoadData(int sampleId)
 {
     this._currentSample = this.DataBaseContext.Samples.FirstOrDefault(x => x.Id == sampleId);
     Tacts = new ObservableCollection <PianoRollContext>();
     if (_currentSample == null)
     {
         return;
     }
     for (var i = _currentSample.InitialTact; i < _currentSample.InitialTact + _currentSample.Size; i++)
     {
         var tact = new PianoRollContext(i);
         tact.AddedNote   += OnAddedNote;
         tact.DeletedNote += OnDeletedNote;
         foreach (var key in tact.Keys)
         {
             key.Notes =
                 new ObservableCollection <ToDoNote>(_currentSample.Notes.Where
                                                         (x => x.MidiNumber == (byte)key.Value && x.Tact == tact.TactNumber));
         }
         Tacts.Add(tact);
     }
 }