Как реализовать привязку Combobox IsEnabled для программной работы в WPF - PullRequest
0 голосов
/ 30 октября 2019

Я создаю комбинированный список программно и пытаюсь установить свойство IsEnabled ComboBox для включения / выключения comboxitems на основе свойства, которое находится в исходной коллекции для элементов в списке. Я пробовал # подходов, но получаю ошибку: «System.Windows.Data.Binding» не является допустимым значением свойства «IsEnabled».

// snippet of binding code            
System.Windows.Data.Binding enableBinding = new  
    System.Windows.Data.Binding();
enableBinding.Source = ClientConfiguration.TableFieldNames;
enableBinding.Path = new PropertyPath("IsEnabled");
enableBinding.Mode = BindingMode.OneWay;           
comboBox.SetValue(System.Windows.Controls.ComboBox.IsEnabledProperty, 
    enableBinding);

// source - collection of the following objects
public class EDIRefTableLayout : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string name)
    {
        PropertyChangedEventHandler handler = PropertyChanged;
        if (handler != null)
        {
            handler(this, new PropertyChangedEventArgs(name));
        }
    }


    private string tableFieldName;

    public string TableFieldName
    {
        get { return tableFieldName; }
        set
        {
            tableFieldName = value;
            OnPropertyChanged("TableFieldName");
        }
    }

    private Int32 eDIRefTableLayoutID;

    public Int32 EDIRefTableLayoutID
    {
        get { return eDIRefTableLayoutID; }
        set
        {
            eDIRefTableLayoutID = value;
            OnPropertyChanged("EDIRefTableLayoutID");
        }
    }

    private bool isEnabled;

    public bool IsEnabled
    {
        get { return isEnabled; }
        set
        {
            isEnabled = value;
            OnPropertyChanged("IsEnabled");
        }
    }
}

Я ожидаю, что ComboxItem будет включен / отключен на основе значения, заданного в свойстве IsEnabled для этого экземпляра ComboBoxItem.

Я получаю следующую ошибку времени выполнения -«System.Windows.Data.Binding» не является допустимым значением свойства «IsEnabled»

Спасибо за любые предложения!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...