Ich habe 2 DTO Klassen:Kann nicht an die Eigenschaft oder Spalte "Spaltenname" in der DataSource binden. Parametername: datamember
public class AddressDto
{
public string Street { get; set; }
public string City { get; set; }
public string PostCode { get: set: }
}
public class CustomerDto
{
public int Number{ get; set; }
public string Name { get; set; }
public AddressDto Address { get: set: }
public CustomerDto()
{
Address = new AddressDto();
}
}
Ich habe ein Formular mit einer Bindungsquelle darin, die CustomerDto
bindet. Ich habe auch ein benutzerdefiniertes Steuerelement mit den Adressfeldern. Dieses benutzerdefinierte Steuerelement verfügt über eine Bindungsquelle, die an AddressDto
10 bindet. Die Textfelder des Steuerelements sind korrekt an die Adresseneigenschaften gebunden.
Die Steuerung macht die folgende Eigenschaft:
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
[Browsable(false)]
public object Address
{
get { return bindingSource.DataSource; }
set { bindingSource.DataSource = value; }
}
Auf einer Maschine, die ich alle Fehler nicht auf CheckBinding()
bekommen. Auf einem anderen Computer erhalte ich jedoch die obige Ausnahme, wenn ich versuche, das Formular in Runtime zu öffnen. In der Designzeit funktioniert alles gut.
Die Steuerung verfügt über 3 TextBoxes
und der Designer fügt die folgenden Bindungen:
this.bindingSource.AllowNew = true;
this.bindingSource.DataSource = typeof(AddressDto);
this.txtStreet.DataBindings.Add(new Binding("Text", this.bindingSource, "Street", true));
this.txtCity.DataBindings.Add(new Binding("Text", this.bindingSource, "City", true));
this.txtPostCode.DataBindings.Add(new Binding("Text", this.bindingSource, "PostCode", true));
Irgendwelche Ideen, wo das Problem sein kann?
Verwenden Sie den Eigenschaftspfad in Ihren Bindungen? Wenn ja, könnte es diesem Problem ähnlich sein [Bindung und Polymorphie - Eigenschaft oder Spalte (Winforms) nicht binden] (http://stackoverflow.com/questions/33789575/binding-and-polymorphism-cannot-bind-property-or -column-winforms/33790268 # 33790268) –
@IvanStoev Nein. Ich verwende keine Eigenschaftenpfade. –
Wie wäre es mit einer Art von [mcve] –