2010-09-03 17 views
0

У меня есть datagrid и вы хотите привязать его к 2-мерному массиву и автоматически отражать изменения в массиве в ui (например, с помощью наблюдаемой коллекции). Тем не менее, я застрял сейчас, потому что datagrid.itemssource = array дает мне "" Вызов конструктора на тип WpfApplication1.MainWindow, который соответствует указанным ограничениям привязки, сделал исключение. ' " ошибка. Также я не знаю, как обновить ui автоматически? Какие могут быть возможные решения?Связывание WPF datagrid с 2-мерным массивом

ответ

1

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

1

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

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

Смежные вопросы