Изменить видимость DataGridTextColumn по значению переменной (WPF, MVVM)

Только недавно начал изучать MVVM. Надеюсь, что появится решение данной проблемы.

В моём приложении происходит авторизация пользователя в системе, после чего открывается окно с таблицей. Пользователи разделены на роли: Администратор и Сотрудник. Я хочу, чтобы Сотрудник не мог видеть определённый столбец (ID).

У меня есть класс AuthorizationMeth, где переменная IDRoleAuthorization хранит в себе ID роли авторизированного пользователя. Как мне теперь с помощью значения этой переменной скрыть столбец ID?

Находил решения с помощью класса Freezable и создание FrameworkElement в XAML, но я не могу понять как это адаптировать для моей проблемы.

Класс AuthorizationMeth.cs

public class AuthorizationMeth
    {
        public static int IDRoleAuthorization;
        public bool Enter(string login, string password)
        {
            Intis6Context db = new Intis6Context();
            if (login == "" || password == "")
            {
                MessageBox.Show("Вы не заполнили все поля", "Авторизация", MessageBoxButton.OK, MessageBoxImage.Error);
                return false;
            }
            var auth_check = db.Users.AsNoTracking().FirstOrDefault(ch => ch.Login == login && ch.Password == password);
            if (auth_check == null)
            {
                MessageBox.Show("Логин или пароль введены не верно", "Авторизация", MessageBoxButton.OK, MessageBoxImage.Error);
                return false;
            }
            IDRoleAuthorization = auth_check.IdRole;
            return true;
        }
    }

ContractView.xaml

<DataGrid Background="White" AutoGenerateColumns="False" EnableColumnVirtualization="True" EnableRowVirtualization="True" 
                        ItemsSource="{Binding AllContrsupl_saleDTO, IsAsync=True}"
                        Grid.Row="0">
            <DataGrid.Columns>
                <DataGridTextColumn Header="ID" Binding="{Binding Path=Cnssid}"/>

Ответы (0 шт):