/// <summary> /// Here when the Mode property on a TagVisualizer changes. /// </summary> /// <param name="visualizer"></param> /// <param name="oldMode"></param> /// <param name="newMode"></param> private static void OnVisualizerModeChanged( TagVisualizer visualizer, TagVisualizerSynchronizationMode oldMode, TagVisualizerSynchronizationMode newMode) { Debug.Assert(visualizer != null); Debug.Assert(oldMode != newMode); // Add or remove visualizer if necessary bool oldIsActive = oldMode != TagVisualizerSynchronizationMode.Off; bool newIsActive = newMode != TagVisualizerSynchronizationMode.Off; if (!oldIsActive && newIsActive) { AddVisualizer(visualizer); } else if (oldIsActive && !newIsActive) { RemoveVisualizer(visualizer); } // Is the visualizer active? if (newIsActive) { bool oldAutoSynchronize = oldMode == TagVisualizerSynchronizationMode.Auto; bool newAutoSynchronize = newMode == TagVisualizerSynchronizationMode.Auto; if (!oldAutoSynchronize && newAutoSynchronize) { BeginAutoSynchronize(visualizer); } else if (oldAutoSynchronize && !newAutoSynchronize) { EndAutoSynchronize(visualizer); } } }
public static void SetMode(TagVisualizer visualizer, TagVisualizerSynchronizationMode mode) { if (visualizer == null) { throw new ArgumentNullException("visualizer"); } visualizer.SetValue(ModeProperty, mode); }