From bb2b4cc2bf8dad9d5b2078f37ba95f3acf5ef223 Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 17 Jun 2026 21:22:10 -0400 Subject: [PATCH] fix: set NoNetworkMode before InitializeComponent in WorkspaceDependencyView NoNetworkMode is a plain CLR property with no change notification. When assigned after InitializeComponent(), the XAML DataTrigger that drives IsEnabled on the Install button had already evaluated the binding with the default value (false) and would never re-fire. Moving the assignment before InitializeComponent() ensures the trigger reads the correct value on first evaluation and the button is reliably disabled in no-network mode. Co-Authored-By: Claude Sonnet 4.6 (1M context) --- .../WorkspaceDependencyView.xaml.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/WorkspaceDependencyViewExtension/WorkspaceDependencyView.xaml.cs b/src/WorkspaceDependencyViewExtension/WorkspaceDependencyView.xaml.cs index 8dfea7230b5..135e2678076 100644 --- a/src/WorkspaceDependencyViewExtension/WorkspaceDependencyView.xaml.cs +++ b/src/WorkspaceDependencyViewExtension/WorkspaceDependencyView.xaml.cs @@ -146,6 +146,10 @@ internal void ForceTriggerDependencyRegen() /// ViewLoadedParams public WorkspaceDependencyView(WorkspaceDependencyViewExtension viewExtension, ViewLoadedParams p) { + // NoNetworkMode must be set before InitializeComponent so the XAML DataTrigger + // that disables the Install button reads the correct value on first evaluation. + // A plain CLR property has no change notification, so the trigger only fires once. + NoNetworkMode = p.StartupParams.NoNetworkMode; InitializeComponent(); this.DataContext = this; currentWorkspace = p.CurrentWorkspaceModel as WorkspaceModel; @@ -156,7 +160,6 @@ public WorkspaceDependencyView(WorkspaceDependencyViewExtension viewExtension, V currentWorkspace.PropertyChanged += OnWorkspacePropertyChanged; loadedParams = p; packageInstaller = p.PackageInstaller; - NoNetworkMode = p.StartupParams.NoNetworkMode; dependencyViewExtension = viewExtension; HomeWorkspaceModel.WorkspaceClosed += this.CloseExtensionTab; }