Я создаю комбинированный список программно и пытаюсь установить свойство 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»
Спасибо за любые предложения!