Dobrý den, chtěl bych ve WPF datagridu zobrazit data z kolekce knih kde by ve sloupci Žánr byl místo čísla idGendre textový popisek který je v druhé kolekci.
public class Book: INotifyPropertyChanged
{
private string name;
private int idGendre;
}
public class Gendre: INotifyPropertyChanged
{
private int idGendre;
private string gendre;
}
public class Data
{
private ObservableCollection<Book> _booksCollection;
private ObservableCollection<Gendre> _gendresCollection;
}
public partial class MainWindow : Window
{
Data data;
public MainWindow()
{
InitializeComponent();
data= new data();
DataContext = data;
}
}
<DataGrid ItemsSource="{Binding BooksCollection}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Jméno" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Žánr id" Binding="{Binding IdGendre}"/>
<DataGridTextColumn Header="Žánr popisek" Binding="{Binding IdGendre, Converter={StaticResource convertor}}"/>
</DataGrid.Columns>
</DataGrid>
Zkoušel jsem použít konvertor ale umím ho nadefinovat jen takto staticky.
public class Convertor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
switch (value.ToString().ToLower())
{
case "1":
return "kronika";
case "2":
return "komiks";
case "3":
return "román";
}
return "";
}
}
Poradíte prosím jak toto spojení kolekcí vyřešit. Dík Tom
|