我有一个数据网格,我填充数据库中的数据。 当我点击一行时,我会调用GotFocus方法,并在满足某些要求时尝试使按钮可见。datagrid选择索引给出的麻烦
private void dtgVerkoopsdocumenten_GotFocus(object sender, RoutedEventArgs e)
{
DataItem row = (DataItem)dtgVerkoopsdocumenten.SelectedItems[0];
if (row.soort2 == "Factuur")
{
btnBoeking.IsHitTestVisible = true;
btnBoeking.Opacity = 1;
}
else
{
btnBoeking.IsHitTestVisible = false;
btnBoeking.Opacity = 0.5;
}
}
这给了我一个错误。
Index was out of range. Must be non-negative and less than the size of the collection.
现在,当我调用代码,但从一个按钮单击它它应该如何工作。
private void tester_Click(object sender, RoutedEventArgs e)
{
DataItem row = (DataItem)dtgVerkoopsdocumenten.SelectedItems[0];
test.Content = row.soort2;
if (row.soort2 == "Factuur")
{
btnBoeking.IsHitTestVisible = true;
btnBoeking.Opacity = 1;
}
else
{
btnBoeking.IsHitTestVisible = false;
btnBoeking.Opacity = 0.5;
}
}
这是为什么?
看起来像'dtgVerkoopsdocumenten.SelectedItems [0];'必须是这个问题。你有没有检查你是否真的有选择的项目? – Yahya 2013-04-24 14:14:35
我知道这个问题,我确实选择了一些项目。我只是不明白为什么当我通过gotfocus方法执行代码时发生错误,而不是通过按钮执行代码时发生错误。 – 2013-04-24 14:30:16