2011-04-29 105 views
1

我在使用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; 
} 

回答

3

那些是字段,而不是性能。數據綁定僅適用於屬性。

+0

謝謝,我很笨。我正準備在筆記本電腦上打一個洞,因爲那個綁定正在處理我的其他應用程序,但不是這個。我猜這是因爲其他應用程序對該模型提供了服務引用。 – Sathariel 2011-04-29 01:36:25

+0

不要感覺不好。你不是第一個被這個咬人的人。 – 2011-04-29 01:39:29

+0

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

相關問題