Hallo Zusammen,
ich habe ein kleines Problem was das DataBinding von Properties angeht.
Ich erstelle in einer Klasse Properties, die mit Daten aus einer SQL-Datenbank gefüllt werden. Dies funktioniert auch problems und die Properties werden sauber befüllt.
Die Daten bestehen aus einem eindeutigen "Textbaustein" und dem zugehörigen Text.
Diese Properties binde ich dann wie folgt an verschiedene Objekte auf der Form.
Mein Problem ist jetzt, dass ich ca. 4000 solcher Textbausteine habe und ich für jedes einzelne eine Property erstellen müsste, die i.d.R. bis auf den abgefragten Textbaustein / Name der Property immer gleich aussieht.
Gibt es hierfür eine einfachere Lösung? Ich habe dies schon mit dynamischen Properties versucht, da VB.NET aber eine statische Sprache ist, ist dies anscheinend nur mit "Dictionaries" möglich, die sich wiederum nicht binden lassen.
Urspr. Lösung war, alle Textbausteine auszulesen und wie folgt in eine Sammlung zu laden:
AddProperty() hat den Wert hinzugefügt, mit GetProperty() hat man den entsprechenden Wert zurückerhalten. Thema hierbei war das Binding....
Wichtig bei der Sache ist, dass die Objekte auf der Form per INotifyPropertyChanged zur Laufzeit aktualisiert werden können.
Daher scheidet
aus
Viele Grüße
Sven
ich habe ein kleines Problem was das DataBinding von Properties angeht.
Ich erstelle in einer Klasse Properties, die mit Daten aus einer SQL-Datenbank gefüllt werden. Dies funktioniert auch problems und die Properties werden sauber befüllt.
Die Daten bestehen aus einem eindeutigen "Textbaustein" und dem zugehörigen Text.
VB.NET-Quellcode
- Imports System.ComponentModel
- Imports System.Resources
- Imports System.Reflection
- Public Class clsSprache
- Implements INotifyPropertyChanged
- Public Event PropertyChanged(ByVal sender As Object, ByVal e As
- PropertyChangedEventArgs) Implements
- INotifyPropertyChanged.PropertyChanged
- Private Sub NotifyPropertyChanged(ByVal info As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info))
- End Sub
- '##### AB HIER FOLGT MEIN PROBLEM ####
- Public ReadOnly Property txt00001() As String
- Get
- Return GetText("txt00001", frm_mainform.LCProp.Sprache)
- End Get
- End Property
- Public ReadOnly Property txt00002() As String
- Get
- Return GetText("txt00002", frm_mainform.LCProp.Sprache)
- End Get
- End Property
- Public ReadOnly Property txt00003() As String
- Get
- Return GetText("txt00003", frm_mainform.LCProp.Sprache)
- End Get
- End Property
- Public ReadOnly Property txt00004() As String
- Get
- Return GetText("txt00004", frm_mainform.LCProp.Sprache)
- End Get
- End Property
- '...
- End Class
Diese Properties binde ich dann wie folgt an verschiedene Objekte auf der Form.
Mein Problem ist jetzt, dass ich ca. 4000 solcher Textbausteine habe und ich für jedes einzelne eine Property erstellen müsste, die i.d.R. bis auf den abgefragten Textbaustein / Name der Property immer gleich aussieht.
Gibt es hierfür eine einfachere Lösung? Ich habe dies schon mit dynamischen Properties versucht, da VB.NET aber eine statische Sprache ist, ist dies anscheinend nur mit "Dictionaries" möglich, die sich wiederum nicht binden lassen.
Urspr. Lösung war, alle Textbausteine auszulesen und wie folgt in eine Sammlung zu laden:
AddProperty() hat den Wert hinzugefügt, mit GetProperty() hat man den entsprechenden Wert zurückerhalten. Thema hierbei war das Binding....
Wichtig bei der Sache ist, dass die Objekte auf der Form per INotifyPropertyChanged zur Laufzeit aktualisiert werden können.
Daher scheidet
aus
Viele Grüße
Sven