Привязка сетки данных WPF к двумерному массиву - PullRequest
0 голосов
/ 03 сентября 2010

У меня есть сетка данных, и я хочу связать ее с двухмерным массивом и автоматически отразить изменения в массиве для пользовательского интерфейса (например, с использованием наблюдаемой коллекции).Тем не менее, я застрял сейчас, потому что datagrid.itemssource = array дает мне «» вызов конструктора типа «WpfApplication1.MainWindow», который соответствует указанным ограничениям привязки, вызвал исключение." ошибка.Кроме того, я не знаю, как обновить интерфейс автоматически?Какие могут быть возможные решения?

Ответы [ 2 ]

1 голос
/ 03 сентября 2010

Пользовательский интерфейс WPF (включая DataGrid) обновляется автоматически только тогда, когда связанный объект реализует INotifyCollectionChanged (для коллекций) или INotifyPropertyChanged (для отдельных объектов). Если вы хотите отобразить коллекцию объектов и автоматически обновить как коллекцию, так и свойства содержащихся объектов, у вас мало выбора, кроме наличия ObservableCollection (которая реализует INotifyCollectionChanged), которая содержит объекты, реализующие INotifyPropertyChanged.

Как вы будете создавать объекты, соответствующие этим требованиям, зависит от вас и конкретных требований / ограничений вашей модели данных.

1 голос
/ 03 сентября 2010

Почему вы не конвертируете двумерный массив в одномерную коллекцию?Вы можете создать динамический класс (используя Dotnet 4.0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...