2017-06-01 5 views
0

Ich versuche, Datagrid basierend auf ausgewählten Element aus Listbox zu laden.XamDataGrid Bindung basierend auf ausgewählten Element in Listbox

Können Sie mir bitte helfen, wie kann ich erreichen.

Unten ist mein Modell

Künstler Klasse

public class Artist. 
{ 
public string Name { get; set; } 
public int Age { get; set; } 
} 

Movie-Klasse

public class Movie 
{ 
private string _Name = string.Empty; 

public string Name 
{ 
get 
{ 
return _Name; 
} 

set 
{ 
_Name = value; 
} 
} 

private List _Artists = new List(); 

public List Artists 
{ 
get 
{ 
return _Artists; 
} 
set 
{ 
_Artists = value; 
} 
} 
} 

Viewmodel Klasse

public class ViewModel 
{ 

private List _Movies; 

public List Movies 
{ 
get 
{ 
return _Movies; 
} 

set 
{ 
_Movies = value; 
} 
} 

public ViewModel() 
{ 

_Movies = new List(); 

Movie movie = new Movie(); 
movie.Name = "Movie 1"; 

List artists = new List(); 

Artist artist1 = new Artist(); 
artist1.Name = "Artist 1"; 
artist1.Age = 27; 

artists.Add(artist1); 

movie.Artists = artists; 

_Movies.Add(movie); 

//2nd record 

movie = new Movie(); 
movie.Name = "Movie 2"; 

artists = new List(); 

artist1 = new Artist(); 
artist1.Name = "Artist 2"; 
artist1.Age = 27; 

artists.Add(artist1); 

movie.Artists = artists; 

_Movies.Add(movie); 

} 
} 

Unten ist XAML - Viewmodel-Objekt binden Fenster Datacontext

<Grid> 

<Grid.ColumnDefinitions> 
<ColumnDefinition Width="Auto"/> 
<ColumnDefinition Width="Auto"/> 
</Grid.ColumnDefinitions> 

<ListBox Name="MoviesList" Grid.Column="0" Width="150" ItemsSource="{Binding Movies}"> 
<ListBox.ItemTemplate> 
<DataTemplate> 
<TextBlock Text="{Binding Name}"/> 
</DataTemplate> 
</ListBox.ItemTemplate> 
</ListBox> 

<igWPF:XamDataGrid Grid.Column="1" DataSource="{Binding Movies}"> 
<igWPF:XamDataGrid.FieldLayouts> 
<igWPF:FieldLayout> 
<igWPF:Field Name="Name"/> 
</igWPF:FieldLayout> 
</igWPF:XamDataGrid.FieldLayouts> 
</igWPF:XamDataGrid> 
</Grid> 

Antwort

1

die Sie interessieren, wenn Sie die Künstler des ausgewählten Films in der DataGrid angezeigt werden soll:

<igWPF:XamDataGrid Grid.Column="1" DataSource="{Binding SelectedItem.Artists, ElementName=MoviesList}"> 
+0

Dank Sie. Es funktioniert – superuser

Verwandte Themen