Ich habe versucht, eine Auflistung meiner W3CError-Typobjekte an ein WPF-ListView-Steuerelement zu binden..NET WPF XAML "BindingExpression Pfadfehler: ... Eigenschaft nicht gefunden"
Es war eine nette kleine 13 Linienklasse ...
Class W3CError Public Type As ErrorOrWarning Public Line As Integer Public Col As Integer Public Message As String Public MessageId As String Public Explanation As String Public Source As String Enum ErrorOrWarning ValidationError ValidationWarning End Enum End Class
Es hat nicht funktioniert. Ich habe diese verbindlichen Fehler in Visual Studio-Ausgabefenster:
System.Windows.Data Error: 39 : BindingExpression path error: 'Line' property not found on 'object' ''W3CError' (HashCode=...)'. BindingExpression:Path=Line; DataItem='W3CError' (HashCode=...); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
Nun, nein, das ist keine Eigenschaft. Es ist einfach öffentlich. Ich denke, das ist nicht gut genug für WPF-Bindung?
Ich habe es durch eine Verlängerung meiner Klasse zu einer hässlichen 69 Linien von Eigenschaften vorformulierten zu arbeiten ...
Class W3CError Private _Type As ErrorOrWarning Private _Line As Integer Private _Col As Integer Private _Message As String Private _MessageId As String Private _Explanation As String Private _Source As String Enum ErrorOrWarning ValidationError ValidationWarning End Enum Public Property Type() As ErrorOrWarning Get Return _Type End Get Set(ByVal value As ErrorOrWarning) _Type = value End Set End Property Public Property Line() As Integer Get Return _Line End Get Set(ByVal value As Integer) _Line = value End Set End Property Public Property Col() As Integer Get Return _Col End Get Set(ByVal value As Integer) _Col = value End Set End Property Public Property Message() As String Get Return _Message End Get Set(ByVal value As String) _Message = value End Set End Property Public Property MessageId() As String Get Return _MessageId End Get Set(ByVal value As String) _MessageId = value End Set End Property Public Property Explanation() As String Get Return _Explanation End Get Set(ByVal value As String) _Explanation = value End Set End Property Public Property Source() As String Get Return _Source End Get Set(ByVal value As String) _Source = value End Set End Property End Class
Gibt es einen besseren Weg?
Ahhh ... das ist, warum meine Bindungen nicht funktionierten! Vielen Dank. – Kieron
Ich hoffe, ich habe dir etwas Frustration erspart, Kieron. –