WPF Datagrid单元格为空

时间:2011-04-29 01:02:00

标签: c# wpf wpfdatagrid

我在WPF中使用DataGrid控件时遇到了一个非常奇怪的问题。在代码中设置DataGrid的ItemsSource后,行生成但单元格完全为空!我在使用DataGrids之前从未遇到过这个问题,我知道绑定工作正常,因为我有另一个类似的应用程序,它可以在那里工作。此外,我尝试让它为我自动生成我的列,它仍然无法正常工作,实际上甚至没有生成列。下面是我在XAML中的DataGrid,我填充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;
}

1 个答案:

答案 0 :(得分:3)

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