Может кто-нибудь сказать мне, пожалуйста, почему я не могу получить желаемый результат в колонке Компания (здесь, название компании). Здесь я попытался связать свои исходные данные (класс Person) с WPF DataGrid.Не удалось передать данные DataGrid
Surname | Name | Company
---------------------------------------
Sidorov | Sasha | DataGridBind.Company
Petrov | Misha | DataGridBind.Company
MainWindow.xaml.cs:
namespace DataGridBind
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Person person = new Person("Sasha", "Sidorov", new Company("Teremok"));
Person person1 = new Person("Misha", "Petrov",new Company("SubWay"));
ObservableCollection<Person> persons = new ObservableCollection<Person> { person, person1 };
personDataGrid.ItemsSource = persons;
}
}
}
Person.cs:
namespace DataGridBind
{
public class Person
{
public string Name { get; set; }
public string Surname { get; set; }
public Company Company { get; set; }
public Person() { }
public Person(string _name, string _surname, Company _company)
{
Name = _name;
Surname = _surname;
Company = _company;
}
}
public class Company
{
public string Name {get;set;}
public Company() { }
public Company(string _name)
{
Name = _name;
}
}
}
XAML:
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:DataGridBind" x:Class="DataGridBind.MainWindow"
Title="MainWindow" Height="350" Width="525">
<Grid >
<DataGrid x:Name="personDataGrid" AutoGenerateColumns="False" EnableRowVirtualization="True" Margin="10,10,138,177" RowDetailsVisibilityMode="Visible">
<DataGrid.Columns>
<DataGridTextColumn x:Name="nameColumn" Binding="{Binding Name}" Header="Name" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="surnameColumn" Binding="{Binding Surname}" Header="Surname" Width="SizeToHeader"/>
<DataGridTextColumn x:Name="companyColumn" Binding="{Binding Company}" Header="Company" Width="200"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>
True !!! Спасибо! –