简体   繁体   English

WPF Datagrid 单元格为空

[英]WPF Datagrid cells empty

I'm having a really weird problem using the DataGrid control in WPF.我在使用 WPF 中的 DataGrid 控件时遇到了一个非常奇怪的问题。 After I set the ItemsSource of the DataGrid in code, the rows get generated but the cells are completely empty, I've never had this problem before using DataGrids.在我在代码中设置 DataGrid 的 ItemsSource 后,会生成行但单元格是完全空的,在使用 DataGrids 之前我从未遇到过这个问题。 and I know that the bindings are working because I have another application that does something similar and it works on there, Also I tried having it auto generate my columns for me and it still doesn't work.而且我知道绑定正在工作,因为我有另一个执行类似操作的应用程序并且它在那里工作,而且我尝试让它为我自动生成我的列,但它仍然无法工作。 in fact no columns are even generated, Below is my DataGrid in XAML, my code to populate the DataGrid.实际上甚至没有生成任何列,下面是我在 XAML 中的 DataGrid,我填充 DataGrid 的代码。 and my model.和我的模型。

Note: FindMoviesByName returns MovieInfo[]注意: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;
}

Those are fields, not properties.这些是字段,而不是属性。 Databinding only works with properties.数据绑定仅适用于属性。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM