WPF Datagrid单元格为空

WPF Datagrid单元格为空

问题描述:

我在使用WPF中的DataGrid控件时出现了一个非常奇怪的问题。在代码中设置DataGrid的ItemsSource后,将生成行,但单元格完全是空的!在使用DataGrids之前,我从来没有遇到过这个问题,并且我知道绑定正在工作,因为我有另一个类似的应用程序,它在那里工作。此外,我试图让它自动为我生成我的列,它仍然无法正常工作,实际上甚至没有列生成。下面是我在XAML中的DataGrid,我的代码来填充DataGrid和我的模型。WPF Datagrid单元格为空

注:FindMoviesByName返回MovieInfo []

<DataGrid x:Name="dgdMovies" AutoGenerateColumns="False" MaxHeight="450" 
         ScrollViewer.CanContentScroll="True" 
         ScrollViewer.VerticalScrollBarVisibility="Auto" 
         ScrollViewer.HorizontalScrollBarVisibility="Auto"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Movie Title" Width="150" Binding="{Binding Title}"></DataGridTextColumn> 
     <DataGridTextColumn Header="IMDB Location" Width="150" Binding="{Binding ImdbUrl}"></DataGridTextColumn> 
     <DataGridTextColumn Header="Genre" Width="150" Binding="{Binding Genre}"></DataGridTextColumn> 
     <DataGridTextColumn Header="MPAA Rating" Width="150" Binding="{Binding MpaaRating}"></DataGridTextColumn> 
     <DataGridTextColumn Header="Personal Rating" Width="150" Binding="{Binding PersonalRating}"></DataGridTextColumn> 
     <DataGridTextColumn Header="Critics Rating" Width="150" Binding="{Binding CriticsRating}"></DataGridTextColumn> 
    </DataGrid.Columns> 
</DataGrid> 
var results = _updateService.FindMoviesByName(txtSearch.Text); 
     lblResults.Content = results.Length + " Results!"; 
     dgdMovies.ItemsSource = results; 

[DataContract] 
public class MovieInfo 
{ 
    [DataMember] public string Title; 
    [DataMember] public string ImdbUrl; 
    [DataMember] public Genre Genre; 
    [DataMember] public MpaaRating MpaaRating; 
    [DataMember] public int CriticsRating; 
    [DataMember] public int PersonalRating; 
} 

那些是字段,而不是性能。数据绑定仅适用于属性。

+0

谢谢,我很笨。我正准备在笔记本电脑上打一个洞,因为那个绑定正在处理我的其他应用程序,但不是这个。我猜这是因为其他应用程序对该模型提供了服务引用。 – Sathariel 2011-04-29 01:36:25

+0

不要感觉不好。你不是第一个被这个咬人的人。 – 2011-04-29 01:39:29

+0

我被咬了......谢谢:) – 2014-01-25 21:08:21