コード例 #1
0
        private void BarRemoved(Core.Model.Bar bar)
        {
            var ui = BarGrid.GetChildren <UI.Bar>().Single(b => b.Model == bar);

            BarGrid.Children.Remove(ui);
            AddLog("Bar removed");
        }
コード例 #2
0
        private void BarAdded(Core.Model.Bar bar)
        {
            var track = TrackHeaders.GetChildren <UI.Track>().SingleOrDefault(t => t.Model == bar.Track);

            var row    = Grid.GetRow(track);
            var column = bar.Track.Bars.IndexOf(bar);

            while (BarGrid.ColumnDefinitions.Count <= column)
            {
                BarGrid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(Constants.BarWidth)
                });
            }

            var ui = new UI.Bar(bar, track);

            ui.Selected += (s, b) =>
            {
                SelectedBar?.Deselect();
                SelectedBar = ui;
            };
            bar.Updated += (s, fullUpdate) =>
            {
                ui.FullUpdate = fullUpdate;
                UpdateBars.Enqueue(ui);
            };
            Grid.SetRow(ui, row);
            Grid.SetColumn(ui, column);

            BarGrid.Children.Add(ui);

            AddLog("Bar added");
        }