2011-04-29 4 views
1

WPF에서 DataGrid 컨트롤을 사용하여 정말 이상한 문제가 있습니다. 코드에서 DataGrid의 ItemsSource를 설정하면 행이 생성되지만 셀은 완전히 비어 있습니다. 나는 DataGrid를 사용하기 전에이 문제를 한번도 경험하지 못했고, 뭔가 비슷한 일을하는 다른 애플리케이션이 있고 거기에서 작동하기 때문에 바인딩이 작동하고 있다는 것을 알고 있습니다. 또한 자동으로 열을 생성 해 봤는데 작동하지 않아 열이 생성되지 않습니다. 아래는 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

+0

기분 나쁘게 느끼지 마십시오. 당신은 이것으로 물릴 수있는 첫번째 사람이 아닙니다. –

+0

나는 너무 물렸다 ... 고마워요 :) –

관련 문제