2011-09-23 104 views
0

我以非常奇怪的方式得到此錯誤。我已經能夠將其隔離開來,並且我知道是什麼造成的,但我不知道爲什麼。Silverlight應用程序代碼中的未處理錯誤:4004 System.Collections.Generic.KeyNotFoundException

情況是這樣的:我有一個ChildWindow,其中包含一個TabControl,它包含兩個用戶控件,兩者都含有這樣一個DataGrid導致未處理的錯誤:

<sdk:DataGrid x:Name="PersonEmailDataContainer" AutoGenerateColumns="False" Height="119" HorizontalAlignment="Left" Margin="12,39,0,0" VerticalAlignment="Top" Width="736" 
    ItemsSource="{Binding PagedListOfPersonEmail, Mode=TwoWay}" 
    ColumnHeaderStyle="{StaticResource ColBinding}" 
    SelectedItem="{Binding SelectedPersonEmail, Mode=TwoWay}" 
    IsReadOnly="{Binding PersonEmailDataContainerIsReadOnly, Mode=TwoWay}"> 
    <sdk:DataGrid.Columns> 
     <sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True" 
     CanUserSort="True" Width="Auto" /> 
     <sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True" 
     CanUserSort="True" Width="20*" 
     Binding="{Binding Email, Mode=TwoWay}" 
     Header="{Binding ConverterParameter=HdrEmail, Converter={StaticResource Localization}, Source={StaticResource Localization}}" /> 
     <sdk:DataGridTextColumn CanUserReorder="True" CanUserResize="True" 
     CanUserSort="True" Width="20*" 
     Binding="{Binding WebSite, Mode=TwoWay}" 
     Header="{Binding ConverterParameter=HdrWebSite, Converter={StaticResource Localization}, Source={StaticResource Localization}}" /> 
    </sdk:DataGrid.Columns> 
     <!-- more columns --> 
    </sdk:DataGrid> 

我解決它通過消除第一列,這只是一個空白列。它不顯示數據,沒有綁定,甚至沒有顯示頭文件。任何想法爲什麼這會導致錯誤?

回答

1

如果你有一個綁定到ItemsSource的DataGrid,那麼你不能有一個沒有綁定的sdk:DataGridTextColumn。您可以改用sdk:DataGridTemplateColumn。此列類型不需要綁定。

+0

這種有道理,它的工作原理!感謝你的回答 :) – Enlacumbre

相關問題