Чтобы получить более презентабельный список свойств для конечного пользователя, я добавил довольно много атрибутов свойств 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()
Это известное поведение или я искал происхождение неправильной проблемы?
Убедитесь, что у вас есть свойство с именем (не отображаемое имя) 'MyPropertyName' и оно не помечено' Browsable (false) '. –
yep well, вот в чем проблема ... Он помечен как «Доступный для просмотра (ложный)», потому что я не хочу видеть его в списке свойств ... Так что не обойти это, насколько я могу судить? ? – neggenbe
Нет, если вы хотите использовать его для привязки данных. 'Browsable (false)' удаляет его из свойств, подходящих для привязки данных. –