Bug fix related to closing windows
This commit is contained in:
+14
-2
@@ -26,22 +26,34 @@ namespace IPClab1;
|
|||||||
public sealed partial class MainWindow : Window
|
public sealed partial class MainWindow : Window
|
||||||
{
|
{
|
||||||
private readonly DispatcherTimer timer = new() { Interval = TimeSpan.FromMilliseconds(100) };
|
private readonly DispatcherTimer timer = new() { Interval = TimeSpan.FromMilliseconds(100) };
|
||||||
|
private bool IsClosed;
|
||||||
|
|
||||||
public MainWindowViewModel ViewModel;
|
public MainWindowViewModel ViewModel;
|
||||||
public MainWindow(MainWindowViewModel viewModel)
|
public MainWindow(MainWindowViewModel viewModel)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
IsClosed = false;
|
||||||
|
Closed += MainWindow_Closed;
|
||||||
|
|
||||||
ViewModel = viewModel;
|
ViewModel = viewModel;
|
||||||
|
|
||||||
ExtendsContentIntoTitleBar = true;
|
ExtendsContentIntoTitleBar = true;
|
||||||
SetTitleBar(AppTitleBar);
|
SetTitleBar(AppTitleBar);
|
||||||
|
|
||||||
timer.Tick += Timer_Tick;
|
timer.Tick += Timer_Tick;
|
||||||
timer.Start();
|
timer.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void MainWindow_Closed(object sender, WindowEventArgs args) => IsClosed = true;
|
||||||
|
|
||||||
private void Timer_Tick(object? sender, object e)
|
private void Timer_Tick(object? sender, object e)
|
||||||
{
|
{
|
||||||
AppTitleBar.Title = Title;
|
if (!IsClosed)
|
||||||
ViewModel.RefreshInfo();
|
{
|
||||||
|
AppTitleBar.Title = Title;
|
||||||
|
ViewModel.RefreshInfo();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void GridView_SizeChanged(object sender, SizeChangedEventArgs e)
|
private void GridView_SizeChanged(object sender, SizeChangedEventArgs e)
|
||||||
|
|||||||
@@ -48,7 +48,8 @@ public partial class MainWindowViewModel(WindowListService windowListService, Wi
|
|||||||
|
|
||||||
partial void OnSelectedWindowChanged(WindowInfo value)
|
partial void OnSelectedWindowChanged(WindowInfo value)
|
||||||
{
|
{
|
||||||
(Width, Height) = _windowInteractionService.GetWindowSize(value.Hwnd);
|
if (value != null)
|
||||||
|
(Width, Height) = _windowInteractionService.GetWindowSize(value.Hwnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
[ObservableProperty]
|
[ObservableProperty]
|
||||||
|
|||||||
Reference in New Issue
Block a user