Moin,
ich kämpfe leider immer noch mit WPF und den Tücken der MVVM Pattern. Habe jetzt irgendwie komplett den Faden verloren. Ich wollte eine Combobox per XML füttern (das klappt auch soweit) und dann einen weiteren Wert gemäss der Auswahl in einer Textbox ausgeben aber irgendwie klappt das nicht. Mein Code sieht wie folgt aus:
MainWindow.xaml
MainViewModel.vb
Mitarbeiter.xml
Irgendwie kann ich zwar in der Combobox die PersonalID auswählen aber die Textbox spuckt den Vornamen nicht aus.
ich kämpfe leider immer noch mit WPF und den Tücken der MVVM Pattern. Habe jetzt irgendwie komplett den Faden verloren. Ich wollte eine Combobox per XML füttern (das klappt auch soweit) und dann einen weiteren Wert gemäss der Auswahl in einer Textbox ausgeben aber irgendwie klappt das nicht. Mein Code sieht wie folgt aus:
MainWindow.xaml
XML-Quellcode
- <Window x:Class="MainWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- Title="MainWindow" Height="150" Width="150">
- <Window.Resources>
- <XmlDataProvider x:Key="PersonalData" Source="Model\Mitarbeiter.xml" XPath="Mitarbeiter" />
- </Window.Resources>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="1*"/>
- <RowDefinition Height="1*"/>
- </Grid.RowDefinitions>
- <ComboBox Grid.Row="0" x:Name="cmbMitarbeiter" HorizontalAlignment="Left" Margin="10,10,0,0"
- VerticalAlignment="Top" Width="120" DisplayMemberPath="@PersonalID"
- ItemsSource="{Binding Source={StaticResource PersonalData}, XPath=./Person}"
- SelectedValuePath="@Vorname"
- SelectedValue="{Binding SelectedVornameValue}"
- />
- <TextBox Grid.Row="1" Text="{Binding SelectedVornameValue, FallbackValue=Vorname}"/>
- </Grid>
- </Window>
MainViewModel.vb
VB.NET-Quellcode
- Imports System.ComponentModel
- Imports System.Xml
- Public Class MainViewModel : Implements INotifyPropertyChanged
- Public Sub New()
- End Sub
- Public Sub New(Vorname As String)
- Me.SelectedVornameValue = _SelectedVornameValue
- End Sub
- Private _SelectedVornameValue As String
- Public Property SelectedVornameValue As String
- Get
- Return _SelectedVornameValue
- End Get
- Set(ByVal value As String)
- _SelectedVornameValue = value
- RaiseProp("SelectedVornameValue")
- End Set
- End Property
- Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
- Public Sub RaiseProp(ByVal Propertie As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(Propertie))
- End Sub
- End Class
Mitarbeiter.xml
Irgendwie kann ich zwar in der Combobox die PersonalID auswählen aber die Textbox spuckt den Vornamen nicht aus.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()