Решение, предложенное HB, действительно хорошее и соответствует духу WPF MVVM.Используйте его там, где это возможно.
В моем конкретном случае что-то пошло не так, поэтому я выбрал другой путь, поскольку мой проект не является строгим MVVM, поэтому я могу использовать кодированное решение.
В CustomView.Имя xaml, присвоенное столбцу:
<DataGrid>
<DataGrid.Columns>
<DataGridTemplateColumn x:Name="MachinesColumn" ... />
...
В CustomView.xaml.cs у нас есть простое свойство, которое напрямую изменяет видимость столбца:
public Visibility MachinesColumnVisible
{
get { return MachinesColumn.Visibility; }
set
{
if (value == MachinesColumn.Visibility)
return;
MachinesColumn.Visibility = value;
}
}