WPF: Как начать стилизацию DataGrid, который был построен с использованием MVVM? - PullRequest
1 голос
/ 25 августа 2010

У меня есть список имен, которые я хотел бы связать с сеткой данных для редактирования / сортировки / и т.д.Но мне не нравится, как DataGrid отображается вообще.Столбцы располагаются в алфавитном порядке, когда я действительно хочу пользовательский порядок (и я хотел бы, чтобы я мог скрыть столбец идентификатора или сделать этот столбец недоступным для редактирования).Я не уверен, как начать делать что-либо из этого ...

ПРИМЕЧАНИЕ: я удалил много "общего" кода (например: INotifyPropertyChanged code ...)

//PersonModel.cs
public class PersonModel
{
    public Int32 ID { get; set; }
    public String FirstName { get; set; }
    public String LastName { get; set; }
}

//PersonViewModel.cs
public class PersonViewModel
{
    public PersonViewModel()
    {
        Init();
    }
    public PersonViewModel(ObservableCollection<PersonModel> persons)
    {
        Init(person);
    }
    private void Init(ObservableCollection<PersonModel> persons = null)
    {
        Persons = person ?? new ObservableCollection<PersonModel>();
    }

    public ObservableCollection<PersonModel> Persons { get; set; }
}

//PersonView.xaml
<UserControl ...

    ...

    <DataGrid ItemsSource="{Binding Persons}" />

    ...
</UserControl>

1 Ответ

2 голосов
/ 25 августа 2010

Если вы не укажете обратное, DataGrid выводит столбцы с помощью отражения. Если вы хотите взять под свой контроль, вы можете:

<DataGrid ItemsSource="{Binding Persons}">
    <DataGrid.Columns>
        <DataGridTextColumn Header="First Name" Binding="{Binding FirstName}"/>
        <DataGridTextColumn Header="Last Name" Binding="{Binding LastName}"/>
    </DataGrid.Columns>
</DataGrid>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...