ViewModel не отображать элемент в сетке данных - PullRequest
2 голосов
/ 30 ноября 2010

Как остановить автоматическое отображение формы таблицы данных WPF элемента, связанного с сеткой данных.

У меня есть эта модель представления, где я не хочу, чтобы она отображала элемент "История". Я пытался использовать [Display (AutoGenerateField = false)], но он не работает.

В моем случае здесь будут отображаться Lead, Calls, LastCall, а затем снова все элементы.

<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>

Просмотр модели

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; }
}

1 Ответ

0 голосов
/ 01 декабря 2010

Bij, установив для свойства AutoGenerateColumns значение false:

<DataGrid AutoGenerateColumns="False">

</DataGrid>

По умолчанию установлено значение true, и, таким образом, все столбцы источника элементов добавляются в сетку данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...