Beispiel #1
0
        public static void AddTapEventHandler(object target, EventElement.TapDelegate evt)
        {
            Delegate handlers;

            if (AttachablePropertyServices.TryGetProperty(target, TapEvent, out handlers))
            {
                handlers = Delegate.Combine(handlers, evt);
            }
            else
            {
                handlers = evt;
            }
            AttachablePropertyServices.SetProperty(target, TapEvent, handlers);
        }
        public void WriteValueOfEventAsDelegate()
        {
            XamlSchemaContext xsc = new XamlSchemaContext();
            XamlObjectWriter  ow  = new XamlObjectWriter(xsc);

            XamlType eventElementXT = xsc.GetXamlType(typeof(EventElement));

            ow.WriteStartObject(eventElementXT);
            ow.WriteStartMember(eventElementXT.GetMember("Tap"));
            EventElement.TapDelegate tapDelegate = new EventElement.TapDelegate(methodToCall);
            ow.WriteValue(tapDelegate);
            ow.WriteEndMember();
            ow.WriteEndObject();

            EventElement eventElement = ((EventElement)ow.Result);

            tapEventFired = false;
            eventElement.RaiseTapEvent();
            if (!tapEventFired)
            {
                throw new Exception("Tap event did not fire");
            }
        }