Пример #1
0
        /// <summary>
        /// Called when the ViewModelKey property is changed on an UI element.
        /// </summary>
        /// <param name="d"></param>
        /// <param name="e"></param>
        private static void OnViewModelKeyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            FrameworkElement fe = d as FrameworkElement;

            if (fe != null)
            {
                string key = e.NewValue as string;
                if (!string.IsNullOrEmpty(key))
                {
                    IViewModelLocator vmLocator = ServiceLocator.Instance.Resolve <IViewModelLocator>();
                    object            viewModel;
                    if (vmLocator.TryLocate(key, out viewModel) && viewModel != null)
                    {
                        fe.DataContext = viewModel;
                    }
                }
            }
        }