Example #1
0
        /// <summary>
        /// Handles the registered event and fires the corresponding Tealium event variable.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        internal static void EventActionHandler(object sender, object args)
        {
            object context = args;

            if (sender != null && typeof(DependencyObject).GetTypeInfo().IsAssignableFrom(sender.GetType().GetTypeInfo()))
            {
                TealiumEvent evt = GetEvent((DependencyObject)sender);
                if (evt != null)
                {
                    //evt.DataContext = context;
                    string varName = evt.VariableName;
                    if (string.IsNullOrWhiteSpace(varName))
                    {
                        varName = Constants.DEFAULT_CUSTOM_EVENT_NAME;
                    }
                    Dictionary <string, object> vars = new Dictionary <string, object>();
                    foreach (var item in evt.Parameters)
                    {
                        item.DataContext = context;
                        string paramName = item.PropertyName;
                        object paramVal  = item.GetValue(ParameterValue.PropertyValueProperty);

                        vars.Add(paramName, paramVal);
                    }
                    TealiumTagger.Instance.TrackCustomEvent(varName, vars);
                }
            }
        }
Example #2
0
 /// <summary>
 /// Sets the attached property for the registered Tealium event.
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="value"></param>
 public static void SetEvent(DependencyObject obj, TealiumEvent value)
 {
     obj.SetValue(EventProperty, value);
 }