powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Выделение объектов в Datagrid
1 сообщений из 1, страница 1 из 1
Выделение объектов в Datagrid
    #37812495
ReFLeXive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, форумчане!
2 дня пытаюсь решить одну проблему. Использую VS2010, .Net 4.0, WPF.
На форму добавлен Datagrid, прописаны столбцы, сделана привязка к данным, заполнен ItemsSource. Все работает, все отображается. НО! почему то не выделяются нормально строки. В других datagrid'ах проекта таких проблем нету. Смотрите сами.

Тут нормально выделяются элементы (есть синяя подсветка)


А тут не выделяется (нет подсветки). Соответственно selectedIndex = -1, selectedItem - непонятно какой элемент.


И в первой таблице, и во второй в ItemsSource передается лист составных объектов.
Вот какой XAML при добавлении datagrid:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<DataGrid Grid.Row="1" Grid.Column="2" Name="questionsInQuestionnaireTable" ItemsSource="{Binding}" AutoGenerateColumns="False"  CanUserAddRows="False" 
                                  MouseDoubleClick="questionsInQuestionnaireTable_MouseDoubleClick" SelectionUnit="FullRow">
    <DataGrid.Columns>
         <DataGridTextColumn Header="Поз." Binding="{Binding Path=QuestionPosition}"  Width="40"/>
         <DataGridTextColumn Header="Вопрос" Binding="{Binding Path=Question.Title}"  Width="*"/>
         <DataGridTextColumn Header="Весовой коэффициент" Binding="{Binding Path=QuestionWeight}" Width="200" />
         <DataGridTextColumn Header="Используется?" Binding="{Binding Path=IsEnabled}" Width="90" />
         <DataGridTextColumn Header="Последний?" Binding="{Binding Path=IsLast}" Width="90" />
     </DataGrid.Columns>
</DataGrid>



а вот такие объекты я заношу в качестве ItemsSource:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
public class QuestionnairePatternItem : IdTitle
    {
        /// <summary>
        /// сслыка на шаблон анкеты, в котором располагается данный итем. 
        /// нужен для удобства идентификации итемов между собой
        /// </summary>
        public int PatternId { get; set; }
        
        /// <summary>
        /// Вопрос
        /// </summary>
        public Question Question { get; set; }

        /// <summary>
        /// Позиция вопроса в шаблоне анкеты. Определяет порядок следования вопросов 
        /// друг за другом, когда запускается мастер анкетирования
        /// </summary>
        public int QuestionPosition { get; set; }

        /// <summary>
        /// Упорядоченный список ответов 
        /// </summary>
        public List<Answer> AnswerList { get; set; }

        /// <summary>
        /// Признак контрольного вопроса
        /// </summary>
        public bool IsLast { get; set; }

        /// <summary>
        /// Весовой коэффициент, показывающий степень влияния данного вопроса на итоговый бал в анкете
        /// </summary>
        public double QuestionWeight { get; set; }

        /// <summary>
        /// ПРизнак того, активен ли вопрос в шаблоне анкеты
        /// </summary>
        public bool IsEnabled { get; set; }
      }



List этих объектов берется из БД (вручную, с использованием SqlCommand и SqlReader).
На англоязычных ресурсах где то находил подобное поведение, там советовали попробовать поменять вариант формирования этого листа объетов. Но я не приложу ума как это сделать иначе - там и так все элементарно. И, что самое интересное, в остальных местах проекта такой подход работает!
Помогите, пожалуйста, советом или ссылкой. Из за этого вся работа стопорится!
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Выделение объектов в Datagrid
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]