Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение элементов в DataGrid 
V
    Опции темы
ReFLeXive
Дата 25.5.2012, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 30.3.2009
Где: г. Уфа

Репутация: нет
Всего: 1



Здравствуйте, форумчане!
2 дня пытаюсь решить одну проблему. Использую VS2010, .Net 4.0, WPF. 
На форму добавлен Datagrid, прописаны столбцы, сделана привязка к данным, заполнен ItemsSource. Все работает, все отображается. НО! почему то не выделяются  нормально строки. В других datagrid'ах проекта таких проблем нету. Смотрите сами:
Тут нормально выделяются элементы (есть синяя подсветка)
user posted image
А тут не выделяется (нет подсветки). Соответственно selectedIndex = -1, selectedItem - непонятно какой элемент.
user posted image

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

<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:
Код

       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). 
На англоязычных ресурсах где то находил подобное поведение, там советовали попробовать поменять вариант формирования этого листа объетов. Но я не приложу ума как это сделать иначе - там и так все элементарно. И, что самое интересное, в остальных местах проекта такой подход работает!
Помогите, пожалуйста, советом или ссылкой. Из за этого вся работа стопорится!
PM MAIL   Вверх
ReFLeXive
Дата 30.5.2012, 06:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 120
Регистрация: 30.3.2009
Где: г. Уфа

Репутация: нет
Всего: 1



Фуух, выяснилось в чем дело! Это был мой косяк =)
СУть в том, что в событии selection_changed у меня происходило изменение выбранного элемента и при этом происходил вызов события selection_changed. 
ВОбщем, спасибо за внимание!
Если кто то столкнется с подобным, обратите внимание на код, который срабатывает на событии изменения выделения в datagrid!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0657 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.