Dies ist ein merkwürdiger Fehler in meinem Code und ich habe keine Ahnung, was ihn verursacht.
der Code zum Erstellen der Datentabelle scheint gut zu sein. Er ist von einer Datentabelle kopiert, die funktioniert. Die Ursache scheint ein Steuerelement zu sein, von dem dieses Steuerelement ein Kind ist.
EDIT: In meiner Frustration habe ich alle Steuerelemente zwischen dem Navigationsrahmen und meinem Steuerelement entfernt. Mein Steuerelement verwendet einen Datenkontext, der auf einer generischen Klasse basiert, und ich habe überprüft, dass es wie beabsichtigt durch Unit-Tests funktioniert - abgesehen von einer Lademethode, die die Eigenschaft List festlegt, ist es im Wesentlichen leer. Die Lademethode funktioniert und gibt eine bevölkerte beobachtbare Sammlung zurück.
Alles lädt und bindet. Die Interaktion funktioniert, um das Raster und mein Detailformular zu verbinden.
Allerdings sind nur die Zellen in der ersten Zeile auswählbar - die anderen Zeilen werden jedoch hervorgehoben, wenn Sie mit dem Mauszeiger über sie fahren. Sie reagieren nur nicht auf Klick-Ereignisse.
die große Frage ist: Ist jemand bewusst, alle Bedingungen (dh Verschachtelung von Steuerelementen), die dieses Verhalten verursachen können? Für isntance ich weiß, dass die Verwendung von Akkordeon-Steuerelemente und scrollViewers in Verbindung hat alle Arten von bösen Nebeneffekte.
EDIT: Ich habe versucht, das Steuerelement zu ersetzen, das mit diesem funktioniert (sie erben von demselben Basisobjekt, so dass sie kompatibel sind. Wenn ich dies tue, bekomme ich das gleiche gebrochene Verhalten. Dies bedeutet, dass es etwas falsch mit dem Viewmodel ... oder mehr likley die Bindung (aber Daten erscheinen :/) ...
den Code für die Datentabelle:
<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>