Exemple #1
0
            public Environment(Window window, IFocusChanger changer)
            {
                _window  = window;
                _changer = changer;

                _changer.FocusChangeRequested += Changer_FocusChangeRequested;
            }
Exemple #2
0
        private static void Window_DataContextChanged(object sender, DependencyPropertyChangedEventArgs e)
        {
            if (sender is Window == false)
            {
                return;
            }

            var window = (Window)sender;

            var environment = GetEnvironment(window);

            environment?.Dispose();
            SetEnvironment(window, null);

            IFocusChanger newChanger = e.NewValue as IFocusChanger;

            if (newChanger != null)
            {
                SetEnvironment(window, new Environment(window, newChanger));
            }
        }