Здесь следует использовать MVVM подход.
DataTable должен управляться ViewModel
, и столбцы, которые вы хотите использовать для отображения, могут быть доступны для просмотра.по свойствам ViewModel
.
[РЕДАКТИРОВАТЬ]
Объем работы, который вам нужно будет инвестировать, зависит от того, чего вы хотите достичь.Если вы хотите отобразить только значения, может быть достаточно, если вы преобразуете DataTable
в ObservableCollection
, а затем привязываете ObservableCollection
к элементу пользовательского интерфейса.
Или вы можете привязать DataTable
непосредственно к вашему DataGrid
и задайте свойство AutoGenerateColumns="True"
.
Пример вы можете найти здесь: Привязать данные с помощью DataGrid в WPF & MVVM
[EDIT 2]
Короче говоря, ViewModel - это класс, который должен быть виден вашему окну WPF.Он содержит некоторые общедоступные свойства, которые сигнализируют о просмотре, когда базовые данные были изменены с помощью интерфейса INotifyPropertyChanged
.Преимущество этого подхода заключается в том, что представление отделено от бизнес-логики, которая работает с фактическими данными.Его не нужно обновлять вручную, но автоматически информируется ViewModel.WPF был специально разработан для использования шаблона MVVM, поэтому, если вы покопаетесь в нем, вам будет очень полезно работать с ним.
Это делает работу с WPF очень простой и помогает структурировать обязанности класса.
В этой статье MSDN можно найти хорошее руководство о том, как начать использовать подход MVVM (Model-View-ViewModel) и как использовать ViewModels: Приложения WPF с шаблоном проектирования Model-View-ViewModel.Это очень помогло мне понять MVVM.