我有一個數據網格,我填充數據庫中的數據。 當我點擊一行時,我會調用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