2011-09-23 79 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

相关问题