Wenn ich eine DAL von SubSonic 2.2 erstellt habe, wie konvertiere ich die von ihr erstellten Sammlungen in WPF ObservableCollections in Code (pref.VB.NET), um von WPF konsumiert zu werden?Eine WPF ObservableCollection aus einer SubSonic 2.2 Collection erstellen
1
A
Antwort
0
Leider VB:
[Test]
public void Exec_Testing()
{
ProductCollection products =
DB.Select().From("Products")
.Where("categoryID").IsEqualTo(5)
.And("productid").IsGreaterThan(50)
.ExecuteAsCollection<ProductCollection>();
Assert.IsTrue(products.Count == 77);
ObservableCollection<Product> obsProducts = new ObservableCollection<Product>(products);
}
0
Sie müssten manuell diese Klassen zu Ihrem DAL hinzufügen, aber es ist nicht allzu schwer. Fügen Sie an der Spitze jeder Datenzugriffsschichtklasse "Implementiert INotifyPropertyChanged" hinzu und fügen Sie dann in jeder Eigenschaft den Code in der "Menge" hinzu, wie Sie unten sehen.
Private _Book As String
Public Property Book() As String
Get
Return _Book
End Get
Set(ByVal value As String)
If Not _Book = value Then
_Book = value
' Raise the property changed event.
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Book"))
End If
End Set
End Property
Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
Vielen Dank. Ich habe den DeveloperFusion.com Konverter verwendet, um mir zu geben: Dim obsProducts als neue ObservableCollection (Of Product) (Produkte) –
Ja, das funktioniert, aber die Klassen erben nicht INotifyPropertyChanged, also ... Die wird binden, aber wird Änderungen der Eigenschaften nicht melden. –
Wie löse ich das? (Entschuldigung, ich bin ein .NET-Neuling) –