Вам не нужно создавать Templates
до тех пор, пока вы не используете эти шаблоны повторно.Чтобы упростить это, я привел ниже пример кода, чтобы заполнить DataGrid
данными из внешних источников.
View -
<Grid>
<DataGrid ItemsSource="{Binding OrderDataGridItems }" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Column1" Width="Auto" Binding="{Binding CountryName}" />
</DataGrid.Columns>
</DataGrid>
</Grid>
CodeBehind - вы должны иметь это во ViewModel, еслиследующий MVVM.
public partial class MainWindow : Window, INotifyPropertyChanged
{
private List<CountryData> orderDataGridItems;
public List<CountryData> OrderDataGridItems
{
get { return orderDataGridItems; }
set
{
orderDataGridItems = value;
OnPropertyChanged("OrderDataGridItems");
}
}
public MainWindow()
{
InitializeComponent();
this.DataContext = this;
var listFromDataBase = new List<CountryData>();
listFromDataBase.Add(new CountryData { CountryName ="India"});
OrderDataGridItems = listFromDataBase;
}
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}