示例#1
0
        public override async Task CloseAllWindowsAsync()
        {
            _windowChannelDictionary.Clear();
            _windowHandles.Clear();
            _windowHandles[_mainWindowId] = new ApplicationViewWindowHandle()
            {
                Id = _mainWindowId
            };

            var views = CoreApplication.Views.ToList();

            foreach (var view in views)
            {
                await view.ExecuteOnUIThreadAsync(async() =>
                {
                    if (view.IsMain)
                    {
                        return;
                    }
                    await ApplicationView.GetForCurrentView().TryConsolidateAsync();
                });
            }
        }
示例#2
0
 private WindowHandle GetOrCreateHandleForId(int id)
 => _windowHandles.TryGetValue(id, out var handle) ? handle : _windowHandles[id] = new ApplicationViewWindowHandle()
 {
     Id = id
 };