Пример #1
0
        protected NavigationService(IResolver resolver, IViewBinder viewBinder)
        {
            Requires.NotNull(resolver, "resolver");

            _resolver   = resolver;
            _viewBinder = viewBinder;
        }
Пример #2
0
        public MetroNavigationService(IResolver resolver, IViewBinder viewBinder)
            : base(resolver, viewBinder)
        {
            Frame.Navigated += OnFrameNavigated;

            //Register(typeof(ShoppingListViewModel),     typeof(ShoppingListView));
            //Register(typeof(AddGroceryItemViewModel),   typeof(AddGroceryItemView));
        }
        public PhoneNavigationService(IResolver resolver, IViewBinder viewBinder, Frame frame)
            : base(resolver, viewBinder)
        {
            Frame            = frame;
            Frame.Navigated += OnFrameNavigated;

            //Register(typeof(ShoppingListViewModel),     new Uri("/Views/ShoppingListView.xaml",    UriKind.Relative));
            //Register(typeof(AddGroceryItemViewModel),   new Uri("/Views/AddGroceryItemView.xaml",  UriKind.Relative));
        }
Пример #4
0
        public bool TryGetViewBinder(Type viewType, string propertyName, out IViewBinder viewBinder)
        {
            string key = MakeDictionaryKey(viewType, propertyName);

            try
            {
                dictionaryLock.EnterUpgradeableReadLock();

                if (binderDictionary.TryGetValue(key, out viewBinder))
                {
                    return(true);
                }

                if (implicityBinderDictionary.TryGetValue(key, out viewBinder))
                {
                    return(true);
                }

                foreach (var pair in binderDictionary)
                {
                    string name = pair.Key;
                    if (!name.EndsWith(propertyName))
                    {
                        continue;
                    }

                    var binder = pair.Value;
                    var type   = binder.ViewType;
                    if (type != null && type.IsAssignableFromEx(viewType))
                    {
                        string newItemKey = MakeDictionaryKey(viewType, propertyName);

                        try
                        {
                            dictionaryLock.EnterWriteLock();

                            implicityBinderDictionary[newItemKey] = binder;
                        }
                        finally
                        {
                            dictionaryLock.ExitWriteLock();
                        }

                        viewBinder = binder;

                        return(true);
                    }
                }
            }
            finally
            {
                dictionaryLock.ExitUpgradeableReadLock();
            }

            return(false);
        }
Пример #5
0
        public bool TryGetViewBinder(Type viewType, string propertyName, out IViewBinder viewBinder)
        {
            string key = MakeDictionaryKey(viewType, propertyName);

            if (binderDictionary.TryGetValue(key, out viewBinder))
            {
                return(true);
            }

            return(false);
        }
Пример #6
0
        public void SetViewBinder(Type viewType, string propertyName, IViewBinder viewBinder)
        {
            string key = MakeDictionaryKey(viewType, propertyName);

            dictionaryLock.EnterWriteLock();
            try
            {
                binderDictionary[key] = viewBinder;
            }
            finally
            {
                dictionaryLock.ExitWriteLock();
            }
        }
Пример #7
0
        public void SetViewBinder <TView>(string propertyName, IViewBinder viewBinder)
        {
            string key = typeof(TView).AssemblyQualifiedName + "." + propertyName;

            dictionaryLock.EnterWriteLock();
            try
            {
                binderDictionary[key] = viewBinder;
            }
            finally
            {
                dictionaryLock.ExitWriteLock();
            }
        }
        public bool TryGetViewBinder(Type viewType, string propertyName, out IViewBinder viewBinder)
        {
            if (propertyName == "HasFocus")
            {
                viewType = typeof(View);
            }

            string key = MakeDictionaryKey(viewType, propertyName);

            if (binderDictionary.TryGetValue(key, out viewBinder))
            {
                return(true);
            }

            return(false);
        }
 public static void SetViewBinder(Type viewType, string propertyName, IViewBinder binder)
 {
     registry.SetViewBinder(viewType, propertyName, binder);
 }
 /**
  * Sets the view binder
  * @param binder The specified view binder
  */
 public void SetViewBinder(IViewBinder binder)
 {
     this.binder = binder;
 }
 public ViewBinderViewModel(IViewBinder binder)
 {
     this._binder = binder;
     this._binders = new ObservableCollection<IBinder>(binder);
 }
        public void SetViewBinder(Type viewType, string propertyName, IViewBinder viewBinder)
        {
            string key = MakeDictionaryKey(viewType, propertyName);

            binderDictionary[key] = viewBinder;
        }
        public void SetViewBinder <TView>(string propertyName, IViewBinder viewBinder)
        {
            string key = typeof(TView).AssemblyQualifiedName + "." + propertyName;

            binderDictionary[key] = viewBinder;
        }
Пример #14
0
 public static void SetViewBinder(Type viewType, string propertyName, IViewBinder binder)
 {
     InternalBindingApplicator.ViewBinderRegistry.SetViewBinder(viewType, propertyName, binder);
 }