![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
не могу понять как так биндить?
у меня есть класс MyClass с полями string name и int age |
|||
|
||||
| SergeyLoginov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.9.2009 Где: Иваново Репутация: 4 Всего: 4 |
Если вопрос в том, как создать таблицу DataGrid на основе списка объектов класса MyClass, то надо для начала организовать в контексте данных публичное свойство - коллекцию объектов этого класса (public ObservableCollection<MyClass> MyClassObjects { get; set; }), заполнить ее. И привязать к свойству ItemsSource таблицы:
Таблица будет создана автоматически. Если свойству AutoGenerateColumns таблицы присвоить значение False, то вид и содержание столбцов будут определяться программистом в xaml. В интернете, в общем-то, полно инфы. Поэтому если и задавать тут вопрос, то надо как-то конкретней. Это сообщение отредактировал(а) SergeyLoginov - 2.7.2010, 12:36 |
|||
|
||||
| DenWPF |
|
||||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
если так
и в коде потом дописать
то выдает ошибку что типо есть уже items. если в хамле указать itemssource то там другая ошибка с Convertom или что то в этом роде. Это сообщение отредактировал(а) DenWPF - 2.7.2010, 15:01 |
||||||
|
|||||||
| SergeyLoginov |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.9.2009 Где: Иваново Репутация: 4 Всего: 4 |
Дело в том, что описывая таблицу так
Ты задаешь Items коллекцией из одного элемента - объекта GridView. Поэтому и такая ошибка. Если ты таким образом пытаешься задать вид столбцов, то это делается иначе:
При этом получишь ровным счетом то же, что и в случае:
Вообще, задать вид столбцов можно очень даже нетривиальный. Но тут надо поковыряться. Почитай статейки (статья, Наверное, то, что тебе нужно сейчас). Попробуй сделать как я описал (с помощью привязки, а не назначения свойству ItemsSource значения в коде). Будет ошибка - предоставь код класса, xaml'а и текст ошибки. |
||||||
|
|||||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
так будет работать, но только если вызвать в коде datagrid.ItemsSource = GetProjects;
как обновить datagrid если добавились новые значения автоматически это конечно хорошо, но мне надо не все поля из того класса. Это сообщение отредактировал(а) DenWPF - 3.7.2010, 11:54 |
|||
|
||||
| DenWPF |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1659 Регистрация: 26.9.2009 Репутация: нет Всего: 1 |
А как связать сразу не сколько?
ну вот у меня есть класс
и хочется забиндить их Category и PodCategory - в Menu а когда выберается под категория в DataGrid Высвечивается инфа из PodCategory.Project а при выбере в Datagrid элемента то в RichTextBox - высвечивается инфа из Project часть. я щас сам это буду пытаться , но думаю у меня не фига не выйдет. прелогаю проект. http://depositfiles.com/files/u8jfxlvvc |
|||
|
||||
| SergeyLoginov |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 62 Регистрация: 28.9.2009 Где: Иваново Репутация: 4 Всего: 4 |
Для того, чтобы DataGrid обновлялся автоматически, надо, чтобы свойство GetProjects имело тип ObservableCollection<Project>. Тогда при изменении (добавлении/удалении) элементов этой коллекции будет изменяться и таблица. А чтобы и содержание таблицы было актуальным значениям элементов коллекции, надо чтобы класс Project поддерживал интерфейс INotifyPropertyChanged (поищи про это в инете, информации полно). Добавлено через 1 минуту и 44 секунды
Все это возможно. Разбирайся, задавай конкретные вопросы - получится |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |