コード例 #1
0
        /// <summary>
        /// Update visualizer bindings from the visualizer expression editor view models.
        /// </summary>
        /// <param name="solutionEditor">Binding expression editors.</param>
        private void UpdateBindingsFrom(SolutionEditorViewModel solutionEditor)
        {
            foreach (var visualizerEditorId in solutionEditor.Deleted)
            {
                var anUpdatedVisualizerBinding = _workspace.GetBindingExpressionById(visualizerEditorId);
                _workspace.DeleteBindingExpression(anUpdatedVisualizerBinding);
            }

            foreach (var updatedExpressionEditor in solutionEditor.Updated)
            {
                // Update existing expression
                var anUpdatedVisualizerBinding = _workspace.GetBindingExpressionById(updatedExpressionEditor.Id);
                anUpdatedVisualizerBinding.Text = updatedExpressionEditor.Text;
            }

            foreach (var newExpressionEditor in solutionEditor.Added)
            {
                // Add new expression
                var aNewExpression = new VisualizerBindingExpressionModel(newExpressionEditor.Text);
                _workspace.AddBindingExpression(aNewExpression);
            }
        }