Esempio n. 1
0
 private static void EnsureLoading(ViewModelBase model, FrameworkElement view)
 {
     Preconditions.CheckArgumentNotNull(model, "model");
     Preconditions.CheckArgumentNotNull(view, "view");
     Interactivity.TriggerCollection triggers = Interactivity.Interaction.GetTriggers(view);
     Ensure(triggers, view, LoadedEventName, ViewModelBase.LoadMethodName);
     Ensure(triggers, view, UnloadedEventName, ViewModelBase.UnloadMethodName);
 }
Esempio n. 2
0
    private static void Ensure(Interactivity.TriggerCollection triggers, DependencyObject view, string eventName, string methodName)
    {
        if (IsEnsured(triggers, eventName, methodName))
        {
            return;     // already ensured
        }
        string binding = string.Format("[{0}] = [{1}()]", eventName, methodName);

        triggers.Add(Parser.Parse(view, binding).Single());
    }
Esempio n. 3
0
 private static bool IsEnsured(Interactivity.TriggerCollection triggers, string eventName, string methodName)
 {
     Interactivity.EventTrigger trigger = triggers.OfType <Interactivity.EventTrigger>().FirstOrDefault(a => a.EventName == eventName);
     if (trigger == null)
     {
         return(false);
     }
     else
     {
         return(trigger.Actions.OfType <ActionMessage>().Any(a => a.MethodName == methodName && a.Parameters.Count == 0));
     }
 }