namespace Caliburn.Micro { using System; using System.Collections.Generic; using System.Linq; #if WinRT using System.ServiceModel; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Controls.Primitives; using Windows.UI.Xaml.Media; #else using System.Windows; using System.Windows.Controls; using System.Windows.Media; using System.Windows.Media.Media3D; using Caliburn.Micro.Core; #endif /// /// Provides methods for searching a given scope for named elements. /// public static class BindingScope { static readonly List ChildResolvers = new List(); static readonly Dictionary NonResolvableChildTypes = new Dictionary(); static BindingScope() { AddChildResolver(e => new[] { e.Content as DependencyObject }); AddChildResolver(e => e.Items.OfType().ToArray() ); #if !SILVERLIGHT && !WinRT AddChildResolver(e => new[] { e.Header as DependencyObject }); AddChildResolver(e => new[] { e.Header as DependencyObject }); #endif #if WinRT AddChildResolver(e => new[] { e.ZoomedInView as DependencyObject, e.ZoomedOutView as DependencyObject }); AddChildResolver(e => new[] { e.Header as DependencyObject }); #endif #if WinRT81 AddChildResolver(e => new[] { e.Footer as DependencyObject }); AddChildResolver(ResolveHub); AddChildResolver(e => new[] { e.Header as DependencyObject }); AddChildResolver(ResolveCommandBar); AddChildResolver