{"record":{"id":"09a3eefe41779fac","repo":"dotnet/wpf","slug":"sr-datagridcolumnheaderitemautomationpeer-unresizable","errorCode":null,"errorMessage":"SR.DataGridColumnHeaderItemAutomationPeer_Unresizable","messagePattern":"SR\\.DataGridColumnHeaderItemAutomationPeer_Unresizable","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"warning","filePath":"src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Automation/Peers/DataGridColumnHeaderItemAutomationPeer.cs","lineNumber":177,"sourceCode":"            { \n                return false; \n            } \n        }\n\n        void ITransformProvider.Move(double x, double y)\n        {\n            throw new InvalidOperationException(SR.DataGridColumnHeaderItemAutomationPeer_Unsupported);\n        } \n\n        void ITransformProvider.Resize(double width, double height)\n        {\n            if (this.OwningDataGrid != null && Column.CanUserResize)\n            {\n                Column.Width = new DataGridLength(width);\n            }\n            else\n            {\n                throw new InvalidOperationException(SR.DataGridColumnHeaderItemAutomationPeer_Unresizable);\n            }\n        }\n\n        void ITransformProvider.Rotate(double degrees)\n        {\n            throw new InvalidOperationException(SR.DataGridColumnHeaderItemAutomationPeer_Unsupported);\n        }\n\n        #endregion\n\n        #region IVirtualizedItemProvider\n        void IVirtualizedItemProvider.Realize()\n        {\n            if (this.OwningDataGrid != null)\n                OwningDataGrid.ScrollIntoView(null,Column);\n        }\n\n        #endregion","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/dotnet/wpf/blob/81131a70a4c573cd62748a5c36908fc4d662daa9/src/Microsoft.DotNet.Wpf/src/PresentationFramework/System/Windows/Automation/Peers/DataGridColumnHeaderItemAutomationPeer.cs#L159-L195","documentation":"DataGridColumnHeaderItemAutomationPeer's ITransformProvider.Resize sets Column.Width when resizing is allowed. If OwningDataGrid is null or the column's CanUserResize is false, the resize cannot be performed and the peer throws InvalidOperationException with SR.DataGridColumnHeaderItemAutomationPeer_Unresizable.","triggerScenarios":"Calling ITransformProvider.Resize(width, height) on a column header whose DataGridColumn.CanUserResize is false (or whose DataGrid is unavailable), e.g. columns with Resizable disabled via DataGrid.CanUserResizeColumns=false or per-column settings.","commonSituations":"UIA tests resizing columns on DataGrids with CanUserResizeColumns=\"False\"; columns whose Width is fixed or sized to Auto/*-star where resizing is disabled; accessibility clients using Transform pattern.","solutions":["Set CanUserResize=true on the column (and DataGrid.CanUserResizeColumns=true) before resizing.","Check Column.CanUserResize before invoking Resize and skip if false.","Catch InvalidOperationException and inform the user the column is not resizable.","Set an explicit Width (not star/Auto) if programmatic sizing is needed, since resizing applies a DataGridLength."],"exampleFix":"// before\n((ITransformProvider)headerPeer).Resize(200, 22);\n\n// after\nif (column.CanUserResize) { ((ITransformProvider)headerPeer).Resize(200, 22); }","handlingStrategy":"validation","validationCode":"if (column.CanUserResize) ((ITransformProvider)peer).Resize(width, height);","typeGuard":"bool IsResizable(DataGridColumn c) => c != null && c.CanUserResize;","tryCatchPattern":"try { ((ITransformProvider)peer).Resize(w, h); } catch (InvalidOperationException) { /* column not resizable */ }","preventionTips":["Check CanUserResize before Resize","Enable CanUserResizeColumns when programmatic resize is needed","Avoid star/Auto widths if fixed widths are expected"],"tags":["wpf","automation","datagrid","resize"],"backgroundTag":"unsupported-operation","analyzedSha":"81131a70a4c573cd62748a5c36908fc4d662daa9","analyzedAt":"2026-09-14T10:12:48.479Z","contentChangedAt":"2026-09-14T10:12:48.479Z","schemaVersion":2},"datasetVersion":"2026-09-21T21:30:21.729Z"}