2010-11-30 11 views
2

Wie kann ich ein WPF DataGrid-Formular automatisch anzeigen, das ein an ein Datagrid gebundenes Element anzeigt.ViewModel zeigt Element in Datagrid nicht an

Ich habe dieses Ansichtsmodell, wo ich nicht möchte, dass es das Element "History" anzeigt. Ich habe versucht mit [Display (AutoGenerateField = false)] aber es funktioniert nicht.

Die Art, wie ich es hier habe, wird es Blei, Anrufe, LastCall und dann alle Elemente wieder anzeigen.

<DataGrid ItemsSource="{Binding Leads}" Margin="0" FontSize="20"> 
    <DataGrid.Columns> 
     <DataGridTextColumn Header="Lead" Binding="{Binding Lead}" Width="150" /> 
     <DataGridTextColumn Header="Calls" Binding="{Binding Calls}" Width="150" /> 
     <DataGridTextColumn Header="LastCall" Binding="{Binding LastCall}" Width="*" /> 
    </DataGrid.Columns> 

Ansicht Modell

public class LeadViewModel : ViewModel 
{ 
    [Display(AutoGenerateField = false)] 
    public int Lead { get; set; } 
    [Display(AutoGenerateField = false)] 
    public int Calls 
    { 
     get 
     { 
      return History.Count(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public int EndCalls 
    { 
     get 
     { 
      return (from h in History 
        where h.DailTime.End != null 
        select h).Count(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public int Jobs 
    { 
     get 
     { 
      return (from h in History 
        where h.DailTime.End != null 
        select h.ProjectJob).Distinct().Count(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public DateTime? LastCall 
    { 
     get 
     { 
      return (from h in History 
        orderby h.DailTime.Start descending 
        select h.DailTime.Start).FirstOrDefault(); 
     } 
    } 
    [Display(AutoGenerateField = false)] 
    public IQueryable<DailHistory> History { get; set; } 
} 

Antwort

0

Bij Einstellung der Autogeneratecolumns-Eigenschaft auf false:

<DataGrid AutoGenerateColumns="False"> 

</DataGrid> 

Es standardmäßig true, und damit das Hinzufügen alle Spalten der Itemssource an das Datagrid.

Verwandte Themen