这个错误通常是因为你在静态方法或属性中尝试访问非静态的字段、方法或属性。在你的情况下,`ComboBox.SelectedItem` 是一个实例属性,而你可能正在尝试从静态方法或属性中访问它。
要解决这个问题,你需要确保你正在访问 `ComboBox.SelectedItem` 的实例。如果你正在使用事件处理程序来响应 `ComboBox` 的选择更改事件,可以使用以下代码:
```csharp
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var comboBox = (ComboBox)sender;
var selectedUnit = comboBox.SelectedItem as ClsMaterialInfo_Grid;
// 处理选定项
}
```
在这个示例中,我们将 `sender` 参数强制转换为 `ComboBox` 类型,并使用它来访问 `SelectedItem` 属性。这样就可以避免访问非静态属性的错误。
请注意,如果你正在使用其他类型的控件(例如 `ListBox`),你需要将 `sender` 参数强制转换为相应的类型。