private MidiLineView InitTrackLine(int rowIndex, Track track) { track.Id(); track.Channel = rowIndex; MidiLineView lineView = new MidiLineView(track); lineView.Ctrl.TrackFocused += FocusTrack; return(lineView); }
public void InitTracks() { vue.TracksPanel.Children.Clear(); vue.TracksPanel.RowDefinitions.Clear(); int i = 0; foreach (Track track in MidiManager.Tracks) { MidiLineView lineView = InitTrackLine(i, track); AddTrackGridRow(i, lineView); AddSeparatorGridRow(i); i++; } vue.TracksPanel.RowDefinitions.Add( new RowDefinition() { Height = new GridLength(400, GridUnitType.Pixel) } ); }
private void AddTrackGridRow(int rowIndex, MidiLineView lineView) { // make row vue.TracksPanel.RowDefinitions.Add( new RowDefinition() { Height = new GridLength(UiManager.TrackHeightDefault, GridUnitType.Pixel), MaxHeight = UiManager.TrackHeightMax, MinHeight = UiManager.TrackHeightMin, } ); // add trackline in row var trackLine = new Frame() { Content = lineView }; vue.TracksPanel.Children.Add(trackLine); Grid.SetRow(trackLine, 2 * rowIndex); }