【发布时间】:2011-04-29 01:02:00
【问题描述】:
我在 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;
}
【问题讨论】:
标签: c# wpf wpfdatagrid