示例#1
0
        public override void CreateFinder(Components.Finder.Finder finder)
        {
            if (CreateUI == false)
            {
                return;
            }

            _finderConfig = finder.Config;

            _finderWindow = new FinderWindow
            {
                Top         = finder.Config.Top,
                Left        = finder.Config.Left,
                Width       = finder.Config.Width,
                Height      = finder.Config.Height,
                DataContext = finder
            };

            _finderWindow.IsVisibleChanged += (sender, args) => _finderConfig.Visible = _finderWindow.IsVisible;
            _finderWindow.LocationChanged  += (sender, args) => _finderLocationJustChanged = true;
            _finderWindow.SizeChanged      += (sender, args) => _finderLocationJustChanged = true;
            _finderWindow.ObjectSelected   += (sender, args) => { GearsetResources.Console.Inspect(args.Name, args.Object); };

            if (_finderConfig.Visible)
            {
                _finderWindow.Show();
            }

            _windows.Add(_finderWindow);

            WindowHelper.EnsureOnScreen(_finderWindow);
            ElementHost.EnableModelessKeyboardInterop(_finderWindow);
        }
        public override void CreateFinder(Components.Finder.Finder finder)
        {
            if (CreateUI == false)
            {
                return;
            }

            _finderConfig = finder.Config;

            _finderWindowViewModel            = new FinderWindowViewModel();
            _finderWindowViewModel.SearchText = finder.Config.SearchText;
            _finderWindow = new FinderWindow {
                DataContext = _finderWindowViewModel, Padding = _windowPadding
            };
            _finderWindow.SizeChanged += (sender, args) =>
            {
                _finderConfig.Width  = _finderWindow.ActualWidth;
                _finderConfig.Height = _finderWindow.ActualHeight;
            };
            //TODO
            //_finderWindow.ObjectSelected += (sender, args) => { GearsetResources.Console.Inspect(args.Name, args.Object); };

            var finderTemplate = new DataTemplate(typeof(FinderWindowViewModel), parent =>
            {
                _finderWindow.Parent = parent;
                return(_finderWindow);
            });

            _gearsetUI.Resources.Add(finderTemplate.DataTemplateKey, finderTemplate);

            InitialiseWindow(_finderWindowViewModel, _finderConfig.Top, _finderConfig.Left, _finderConfig.Width, _finderConfig.Height, _finderConfig.Visible);

            _widgetWindowViewModel.FinderWindowVisible = finder.Config.Visible;
        }