2017-06-01 47 views
0

我想根據列表框中選定的項目加載數據網格。XamDataGrid根據列表框中的選定項目綁定

你能幫我嗎我該如何實現。

下面是我的模型

藝術家類

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

電影類

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類

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); 

} 
} 

下面是XAML中 - 視圖模型對象綁定到窗口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> 

回答

1

,如果你想在DataGrid顯示所選電影的藝術家試試這個:

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

謝謝你。它正在工作 – superuser

相關問題