这是我的代码中的一个奇怪的错误,我不知道是什么导致它。
构建数据网格的代码似乎很好。它是从执行功能的数据网格中复制的。原因似乎是这种控制是孩子的控制。
编辑:在我的沮丧中,我删除了导航框架和我的控件之间的任何控件。我的控件使用基于泛型类的数据上下文,并且我已经验证它通过单元测试按预期工作 - 除了设置List属性的加载方法它基本上是空的。 load方法起作用并返回一个填充的可观察集合。一切都加载和绑定。该交互用于连接网格和我的详细信息表单。
但是,可选择的唯一单元格是第一行中的单元格 - 但是当您将鼠标悬停在其上时,其他行会突出显示。他们只是不回应点击事件。
最大的问题是:是否有人知道可能导致此行为的任何条件(即控件嵌套)? 对于isntance,我知道使用手风琴控件和scrollViewers会产生各种令人讨厌的副作用。
编辑:我尝试替换使用此控件的控件(它们继承了相同的基础对象,因此它们是兼容的。当我这样做时,我得到相同的破坏行为。这意味着viewmodel有问题。 ..或更多喜欢绑定(但数据出现:/)......datagrid的代码:
<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>
答案 0 :(得分:2)
当您为对象类覆盖Equals方法时会发生这种情况。确保每个对象在重写的Equals方法
中是唯一的