@@ -64,8 +64,7 @@ public IHostResourceProvider HostResourceProvider
6464 throw new ArgumentNullException ( nameof ( value ) , "Cannot set HostResourceProvider to null" ) ;
6565
6666 this . hostResources = value ;
67- if ( this . propertyTable . Delegate != null )
68- this . propertyTable . Delegate = new PropertyTableDelegate ( value , this . dataSource ) ;
67+ UpdateResourceProvider ( ) ;
6968 }
7069 }
7170
@@ -139,31 +138,31 @@ public override void ViewDidChangeEffectiveAppearance ()
139138
140139 private NSSearchField propertyFilter ;
141140 private NSStackView tabStack ;
141+ private DynamicFillBox header , border ;
142142
143- // Shared initialization code
144143 private void Initialize ( )
145144 {
146145 AutoresizingMask = NSViewResizingMask . WidthSizable | NSViewResizingMask . HeightSizable ;
147146
148147 NSControlSize controlSize = NSControlSize . Small ;
149148
150- var header = new DynamicFillBox ( HostResourceProvider , NamedResources . PanelTabBackground ) {
149+ this . header = new DynamicFillBox ( HostResourceProvider , NamedResources . PanelTabBackground ) {
151150 ContentViewMargins = new CGSize ( 0 , 0 ) ,
152151 ContentView = new NSView ( )
153152 } ;
154- AddSubview ( header ) ;
153+ AddSubview ( this . header ) ;
155154
156- var border = new DynamicFillBox ( HostResourceProvider , NamedResources . TabBorderColor ) {
155+ this . border = new DynamicFillBox ( HostResourceProvider , NamedResources . TabBorderColor ) {
157156 Frame = new CGRect ( 0 , 0 , 1 , 1 )
158157 } ;
159- header . AddSubview ( border ) ;
158+ header . AddSubview ( this . border ) ;
160159
161160 this . propertyFilter = new NSSearchField {
162161 ControlSize = controlSize ,
163162 PlaceholderString = LocalizationResources . PropertyFilterLabel ,
164163 TranslatesAutoresizingMaskIntoConstraints = false ,
165164 } ;
166- ( ( NSView ) header . ContentView ) . AddSubview ( this . propertyFilter ) ;
165+ ( ( NSView ) this . header . ContentView ) . AddSubview ( this . propertyFilter ) ;
167166
168167 this . propertyFilter . Changed += OnPropertyFilterChanged ;
169168
@@ -173,7 +172,7 @@ private void Initialize ()
173172 EdgeInsets = new NSEdgeInsets ( 0 , 0 , 0 , 0 )
174173 } ;
175174
176- ( ( NSView ) header . ContentView ) . AddSubview ( this . tabStack ) ;
175+ ( ( NSView ) this . header . ContentView ) . AddSubview ( this . tabStack ) ;
177176
178177 this . propertyTable = new FirstResponderOutlineView {
179178 RefusesFirstResponder = true ,
@@ -219,6 +218,17 @@ private void Initialize ()
219218 ViewDidChangeEffectiveAppearance ( ) ;
220219 }
221220
221+ private void UpdateResourceProvider ( )
222+ {
223+ if ( this . propertyTable . Delegate != null )
224+ this . propertyTable . Delegate = new PropertyTableDelegate ( HostResourceProvider , this . dataSource ) ;
225+
226+ this . header . HostResourceProvider = HostResourceProvider ;
227+ this . border . HostResourceProvider = HostResourceProvider ;
228+
229+ ViewDidChangeEffectiveAppearance ( ) ;
230+ }
231+
222232 private void OnPropertiesChanged ( object sender , EventArgs e )
223233 {
224234 this . propertyTable . ReloadData ( ) ;
0 commit comments