Это странная ошибка в моем коде, и я понятия не имею, что ее вызывает.
код для построения сетки данных кажется хорошим. Он скопирован из решетки данных, которая работает. Кажется, причина в том, что этот элемент является потомком.
РЕДАКТИРОВАТЬ: В моем разочаровании я удалил все элементы управления между структурой навигации и моим элементом управления. Мой элемент управления использует контекст данных, основанный на универсальном классе, и я проверил, что он работает, как и предполагалось, с помощью модульных тестов - помимо метода загрузки, который устанавливает свойство List, он по существу пуст. Метод load работает и возвращает заполненную наблюдаемую коллекцию.
Все загружается и связывается. Взаимодействие работает, чтобы соединить сетку и мою форму детализации.
Однако единственными ячейками, которые можно выбрать, являются ячейки в первом ряду, однако другие строки выделяются при наведении на них курсора. Они просто не реагируют на события клика.
главный вопрос: знает ли кто-нибудь о каких-либо условиях (например, вложенности элементов управления), которые могут вызвать такое поведение?
Я знаю, что использование аккордеонных элементов управления и scrollViewers в сочетании имеет всевозможные неприятные побочные эффекты.
РЕДАКТИРОВАТЬ: я попытался заменить элемент управления, который работает с этим (они наследуют от одного базового объекта, поэтому они совместимы. Когда я делаю это, я получаю то же нарушенное поведение. Это означает, что что-то не так с моделью представления. .. или более похоже на привязку (но данные появляются: /) ...
код для таблицы данных:
<sdk:DataGrid
AutoGenerateColumns="False"
x:Name="dgBankCodes"
ItemsSource="{Binding List}"
IsReadOnly="True"
SelectionMode="Single" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Binding="{Binding Code}" CanUserSort="True" Header="Bank Code" IsReadOnly="True"/>
<sdk:DataGridTextColumn Binding="{Binding Name}" CanUserSort="True" Header="Name" IsReadOnly="True"/>
<sdk:DataGridTextColumn Binding="{Binding SortCode}" CanUserSort="True" Header="Sort Code" IsReadOnly="True"/>
<sdk:DataGridTextColumn Binding="{Binding AccountNumber}" CanUserSort="True" Header="Act No" IsReadOnly="True"/>
<sdk:DataGridTextColumn Binding="{Binding Description}" CanUserSort="True" Header="Description" IsReadOnly="True"/>
<sdk:DataGridTextColumn Binding="{Binding IBAN}" Header="IBAN" IsReadOnly="True"/>
<sdk:DataGridTextColumn Binding="{Binding BIC}" CanUserSort="True" Header="BIC" IsReadOnly="True"/>
</sdk:DataGrid.Columns>
<i:Interaction.Triggers>
<i:EventTrigger EventName="SelectionChanged">
<i:InvokeCommandAction
Command="{Binding SelectObjectCommand}"
CommandParameter="{Binding SelectedItem, ElementName=dgBankCodes}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</sdk:DataGrid>