Beispiel #1
0
        //protected override SizeRequest OnSizeRequest(double widthConstraint, double heightConstraint)
        //{
        //	return new SizeRequest(new Size(widthConstraint, heightConstraint));
        //}

        private static void XmlSourceChanged(BindableObject obj, string oldValue, string newValue)
        {
            NoteViewer viewer = obj as NoteViewer;

            if (string.IsNullOrWhiteSpace(newValue))
            {
                if (!string.IsNullOrWhiteSpace(oldValue))
                {
                    viewer.Children.Clear();
                }
                return;
            }

            XDocument xmlDocument = XDocument.Parse(newValue);

            //Apply transformations:
            if (viewer.XmlTransformations != null)
            {
                foreach (var transformation in viewer.XmlTransformations)
                {
                    xmlDocument = transformation.Parse(xmlDocument);
                }
            }

            MusicXmlParser parser = new MusicXmlParser();
            var            score  = parser.Parse(xmlDocument);

            score.MeasureInvalidated -= viewer.Score_MeasureInvalidated;
            viewer.RenderOnCanvas(score);
            score.MeasureInvalidated += viewer.Score_MeasureInvalidated;
        }
Beispiel #2
0
        private static void ScoreSourceChanged(BindableObject obj, Score oldValue, Score newValue)
        {
            NoteViewer viewer = obj as NoteViewer;

            if (oldValue != null)
            {
                oldValue.MeasureInvalidated -= viewer.Score_MeasureInvalidated;
            }
            if (newValue == null)
            {
                return;
            }
            newValue.MeasureInvalidated -= viewer.Score_MeasureInvalidated;
            viewer.RenderOnCanvas(newValue);
            newValue.MeasureInvalidated += viewer.Score_MeasureInvalidated;
        }