Используйте ItemsSource для назначения коллекций данных. Я предлагаю вам прочитать о реализации MVVM для WPF. Но для начала ...
Создать класс, который реализует интерфейс INotifyPropertyChanged
public class Employer : INotifyPropertyChanged
{
private string nameField;
public string Name {
get { return nameField; }
set {
nameField= value;
if (PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs("Name"));
}
}
}
private int idField;
public int Id {
get { return idField; }
set {
idField= value;
if (PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs("Id"));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
Создать свойство
private ObservableCollection<Employer> employersField;
public ObservableCollection<Employer> Employers
{
get { return employersField; }
set {
employersField= value;
if (PropertyChanged != null) {
PropertyChanged(this, new PropertyChangedEventArgs("Employers"));
}
}
}
Теперь, скажем, в конструкторе вы
Employers = new ObservableCollection<Employer> {
new Employer {
Id = 0,
Name = "Mike"
},
new Employer {
Id = 1,
Name = "Dave"
}
}
Давайте предположим, что у вас нет класса вида, поэтому все ваши свойства в файле cs, связанном с xaml. Так что вам нужно, чтобы связать DataContext
свойство вашего DataGrid к классу и после Назначают ItemsSource вашей собственности
<DataGrid DataContext = {Binding ElementName=YourControlName} ItemsSource="{Binding Employers}">
your content
</DataGrid >
YourControlName является именем UserControl в XAML!
<UserControl x:Name="YourControlName" >
all stuff
</UserControl>
Посмотрите, это меняться краткий обзор, потому что я не показал вам, как связать свои свойства класса в DataGrid столбцов, а также как связать SelectedItem свойство вашей собственности. Но вы можете найти много примеров в stackoverflow, а также в Интернете. Я просто показал, как начать и как вещи работают в WPF