using System.Windows.Markup; namespace TheXamlGuy.UI.WPF; [ContentProperty(nameof(Triggers))] public class CompositeExtension : TriggerExtension { [ConstructorArgument(nameof(Triggers))] public TriggerCollection Triggers { get; } = new TriggerCollection(); public CompositeExtension(object args0) { Triggers.Add(args0); } public CompositeExtension(object args0, object args1) { Triggers.Add(args0); Triggers.Add(args1); } public CompositeExtension(object args0, object args1, object args2) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); } public CompositeExtension(object args0, object args1, object args2, object args3) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9, object args10) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); Triggers.Add(args10); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9, object args10, object args11) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); Triggers.Add(args10); Triggers.Add(args11); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9, object args10, object args11, object args12) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); Triggers.Add(args10); Triggers.Add(args11); Triggers.Add(args12); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9, object args10, object args11, object args12, object args13) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); Triggers.Add(args10); Triggers.Add(args11); Triggers.Add(args12); Triggers.Add(args13); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9, object args10, object args11, object args12, object args13, object args14) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); Triggers.Add(args10); Triggers.Add(args11); Triggers.Add(args12); Triggers.Add(args13); Triggers.Add(args14); } public CompositeExtension(object args0, object args1, object args2, object args3, object args4, object args5, object args6, object args7, object args8, object args9, object args10, object args11, object args12, object args13, object args14, object args15) { Triggers.Add(args0); Triggers.Add(args1); Triggers.Add(args2); Triggers.Add(args3); Triggers.Add(args4); Triggers.Add(args5); Triggers.Add(args6); Triggers.Add(args7); Triggers.Add(args8); Triggers.Add(args9); Triggers.Add(args10); Triggers.Add(args11); Triggers.Add(args12); Triggers.Add(args13); Triggers.Add(args14); Triggers.Add(args15); } protected override void OnInvoked(object sender, EventArgs args) { foreach (TriggerExtension? trigger in Triggers) { trigger.Invoke(sender, args); } base.OnInvoked(sender, args); } }