2017-01-31 7 views
0

Чтобы получить более презентабельный список свойств для конечного пользователя, я добавил довольно много атрибутов свойств DisplayName и Browsable(false).C# winforms атрибуты свойства и привязка

Теперь появляется сообщение о сбое программы при попытке привязки к исходному имени свойства (я не обновлял все привязки). Возникла ошибка Follwoing:

System.ArgumentException: Cannot bind to the property or column MyPropertyName on the DataSource. 
Parameter name: dataMember 
    at System.Windows.Forms.BindToObject.CheckBinding() 
    at System.Windows.Forms.BindToObject.SetBindingManagerBase(BindingManagerBase lManager) 
    at System.Windows.Forms.Binding.SetListManager(BindingManagerBase bindingManagerBase) 
    at System.Windows.Forms.ListManagerBindingsCollection.AddCore(Binding dataBinding) 
    at System.Windows.Forms.BindingsCollection.Add(Binding binding) 
    at System.Windows.Forms.BindingContext.UpdateBinding(BindingContext newBindingContext, Binding binding) 
    at System.Windows.Forms.Control.UpdateBindings() 

Это известное поведение или я искал происхождение неправильной проблемы?

+1

Убедитесь, что у вас есть свойство с именем (не отображаемое имя) 'MyPropertyName' и оно не помечено' Browsable (false) '. –

+0

yep well, вот в чем проблема ... Он помечен как «Доступный для просмотра (ложный)», потому что я не хочу видеть его в списке свойств ... Так что не обойти это, насколько я могу судить? ? – neggenbe

+0

Нет, если вы хотите использовать его для привязки данных. 'Browsable (false)' удаляет его из свойств, подходящих для привязки данных. –

ответ

0

Благодаря тому, что Иван указал мне в правильном направлении.

Действительно Browsable(false) удаляет недвижимость из BindingSource, как описано в this thread.

Как я использую таблицу свойств DevExpress', достаточно использовать пустой DisplayName, чтобы удалить его из списка, показывающий свойства в их компонентов ... Так что я просто добавил атрибут EmptyDisplayName который возвращает null как DisplayName.

Обратите внимание, что я не проверял, работает ли это для других списков свойств.

 Смежные вопросы

  • Нет связанных вопросов^_^