Laden...

DataBinding mit eigenem Objekt

Erstellt von Da_Flo vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.275 Views
Thema geschlossen
D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 12 Jahren
DataBinding mit eigenem Objekt

Hallo!

ich habe einen Dialog dem ich ein objekt Mitarbeiter übergebe.
jetzt möchte ich gerne in XAML Mitarbeiter.Vorname und Mitarbeiter.Nachname jeweils an eine Textbox binden.

ich hab schon ein beispiel gefunden wo ich das SelectedItem einer Listbox binde

<Label Content="{Binding ElementName=listbox1, Path=SelectedItem.Nachname}" Height="28" HorizontalAlignment="Left" Margin="105,229,0,0" Name="label2" VerticalAlignment="Top" Width="147" />

wenn mein objekt in der klasse jetzt "mitarbeiter" heißt hätte ich folgendes probiert

<Label Content="{Binding ElementName=mitarbeiter, Path=Vorname}" Height="28" HorizontalAlignment="Left" Margin="105,229,0,0" Name="label2" VerticalAlignment="Top" Width="147" />

was aber leider nicht den gewünschten erfolg brachte.

danke
Flo

1.552 Beiträge seit 2010
vor 12 Jahren

Hallo Da_Flo,

du verwechselst etwas:
ElementName ist nicht der Name des Objects in der Klasse sondern das GUI Element von welchem du die Bindung benötigst.

Am besten ist, du bindest das SelectedItem in deinem ViewModel an einem Property und dann kannst du mit:


<ListBox SelectedItem="{Binding Path SelectedMitarbeiter}"/>
<Label Content="{Binding Path=SelectedMitarbeiter.Nachname}"/>

Gruß´
Michael

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 12 Jahren

Hallo!

okay Danke!

aber ich möchte gerne auf das Objekt Mitarbeiter in der XAML zugriff haben
also ich möchte Mitarbeiter.Vorname z.b an ein Label oder an eine TextBox binden, wie mach ich das am besten?

1.552 Beiträge seit 2010
vor 12 Jahren

also ich möchte Mitarbeiter.Vorname z.b an ein Label oder an eine TextBox binden, wie mach ich das am besten?

public class MyViewModel
{
    IEnumerable<Mitarbeiter> MitarbeiterList;
    Mitarbeiter SelectedMitarbeiter;
}

<ListBox ItemsSource="{Binding MitarbeiterList}" SelectedItem="{Binding SelectedMitarbeiter}"/>
<TextBox Text="{Binding SelectedMitarbeiter.Vorname}"/>

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

D
Da_Flo Themenstarter:in
269 Beiträge seit 2009
vor 12 Jahren

Vielleicht versteh ich das ganze ein wenig falsch, aber für was brauche ich da eine Liste? Ich hab genau ein Mitarbeiter-Objekt und desen Properties möchte ich an diverse Labels/Textboxen binden

1.552 Beiträge seit 2010
vor 12 Jahren

Du hast im ersten Post von einer ListBox gesprochen.

Ich hab genau ein Mitarbeiter-Objekt und desen Properties möchte ich an diverse Labels/Textboxen binden

Wo liegt das Problem?


<TextBox Text="{Binding MeinMitglied.Vorname}"/>
<TextBox Text="{Binding MeinMitglied.Nachname}"/>
<TextBox Text="{Binding MeinMitglied.Adresse}"/>

Oder verstehe ich dich falsch?

Mein Blog
Meine WPF-Druckbibliothek: auf Wordpress, myCSharp

6.911 Beiträge seit 2009
vor 12 Jahren

Hallo Da_Flo,

schau dir mal Data Binding Overview. Da sollten deine Fragen geklärt werden. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1, 1.1.1

Auch wenn xxMUROxx noch eine offene Frage hat schließe ich das Thema wegen oben genannten Gründen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Thema geschlossen