public static void CollapseAndWait(this SplitButton splitButton) { if (splitButton == null) { Log.Error("Attempted to collapse a null split button! Dumping context..."); DumpHelper.DumpFullContext(); throw new ArgumentNullException("splitButton"); } using (var waiter = splitButton.GetCollapsedWaiter()) { splitButton.Collapse(); waiter.Wait(); } Wait.ForIdle(); }