Datenbindung an Combobox

  • WPF

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomi.

    Datenbindung an Combobox

    Hallo, bin neu in diesem Forum.
    Steige gerade um auf WPF und habe folgendes Problem:
    Habe ein Dataset mit z.Zt.4 Tabellen und möche die Namen der darin enthaltenen Tabellen an eine Combobox binden.
    Leider scheitere ich immer wieder, dh. die cbo bleibt leer hat aber 4 Zeilen:

    VB.NET-Quellcode

    1. Private Sub frmIni_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
    2. cPfad = sLokalIniPfad
    3. DsIni.ReadXml(sLokalIniPfad)
    4. If DsIni.Tables.Count > 0 Then
    5. dgIni.ItemsSource = DsIni.Tables(DsIni.Tables(0).ToString).DefaultView 'Bis hier her funktioniert es
    6. cbAuswahl.ItemsSource = DsIni.Tables() ' Combobox bleibt leer
    7. End If
    8. end sub


    XAML:<DataGrid x:Name="dgIni" AutoGenerateColumns="True" MouseLeftButtonUp="MouseClick" HorizontalAlignment="Left" Height="175" Margin="47,220,0,0" Grid.RowSpan="2" VerticalAlignment="Top" Width="383" SelectionMode="Extended">

    </DataGrid>
    <StackPanel HorizontalAlignment="Right" Height="63.5" Margin="0,0,30.167,77" Grid.RowSpan="2" VerticalAlignment="Bottom" Width="316.5">
    <ComboBox x:Name="cbAuswahl" IsSynchronizedWithCurrentItem="True" Height="31.5" Margin="28.5,0,117,0">

    </ComboBox>
    </StackPanel>


    Kann mir jemand helfen?
    Danke für Eure Mühe :) ;)
    Habe trotzdem noch eine Frage:
    Habe den Code geändert und es funktioniert

    VB.NET-Quellcode

    1. Private Sub frmIni_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded
    2. Try
    3. DsIni.ReadXml(sLokalIniPfad)
    4. cbAuswahl.ItemsSource = DsIni.Tables()
    5. cbAuswahl.DisplayMemberPath = "TableName"
    6. dgIni.SelectedIndex = 0
    7. Catch ex As Exception
    8. MessageBox.Show("Fehler im frmIniLoad " + ex.Message, "Achtung", MessageBoxButton.OK, MessageBoxImage.Error)
    9. End Try
    10. End Sub


    aber wenn ich es im XAML binden will klappt es nicht:

    XML-Quellcode

    1. <ComboBox x:Name="cbAuswahl" IsSynchronizedWithCurrentItem="True"
    2. ItemsSource="{Binding DsIni.Tables()}"
    3. DisplayMemberPath="TableName"
    4. Height="32"
    5. Margin="0,23,899,0" Grid.Row="1" VerticalAlignment="Top" HorizontalAlignment="Right" Width="227" >
    6. </ComboBox>

    was mache ich falsch?? ?(
    Danke