DataGrid не отображается, ListView работает нормально? - PullRequest
0 голосов
/ 15 сентября 2011

Думаете, я упускаю что-то довольно простое здесь, но я не могу заставить мой Datagrid правильно отображаться?

Первоначально я использовал ListView для отображения некоторых табличных данных, но я хотел автоматически изменить размеры столбцов, поэтому я переключился на DataGrid с использованием DataGridTextColumns и теперь ничего не получаю. В сетке отображается правильное количество строк, но каждая ячейка кажется пустой. Есть идеи?

Вот мой XAML:

<DataGrid ItemsSource="{Binding Charges}" AutoGenerateColumns="True">
    <DataGrid.Columns>
        <DataGridTextColumn Header="Count" Binding="{Binding Count, Mode=OneWay}" Width="SizeToCells" />
        <DataGridTextColumn Header="Charge" Binding="{Binding LawId, Mode=OneWay, Converter={StaticResource LawConverter}}" Width="SizeToCells" />
        <DataGridTextColumn Header="Incident Date" Binding="{Binding IncidentDate, Mode=OneWay, Converter={StaticResource DateConverter}}" Width="SizeToCells" />
        <DataGridCheckBoxColumn Header="Convicted" Binding="{Binding IsConvicted, Mode=OneWay}" />
        <DataGridTextColumn Header="Disposition" Binding="{Binding ChargeDispositionCodeId, Mode=OneWay, Converter={StaticResource CodeConverter}, ConverterParameter='ChargeDispositionCode'}" Width="SizeToCells" />
        <DataGridTextColumn Header="Disposition Date" Binding="{Binding DispositionDate, Mode=OneWay, Converter={StaticResource DateConverter}}" Width="SizeToCells" />
    </DataGrid.Columns>
</DataGrid>

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Этот xaml работает и отображается правильно, но я бы хотел, чтобы столбцы автоматически менялись, и поэтому предпочтительнее использовать DataGrid:

<ListView ItemsSource="{Binding Charges}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Count" DisplayMemberBinding="{Binding Count, Mode=OneWay}" />
            <GridViewColumn Header="Charge" DisplayMemberBinding="{Binding LawId, Mode=OneWay, Converter={StaticResource LawConverter}}" />
            <GridViewColumn Header="Incident Date" DisplayMemberBinding="{Binding IncidentDate, Mode=OneWay, Converter={StaticResource DateConverter}}" />
            <GridViewColumn Header="Convicted" DisplayMemberBinding="{Binding IsConvicted, Mode=OneWay}" />
            <GridViewColumn Header="Disposition" DisplayMemberBinding="{Binding ChargeDispositionCodeId, Mode=OneWay, Converter={StaticResource CodeConverter}, ConverterParameter='ChargeDispositionCode'}" />
            <GridViewColumn Header="Disposition Date" DisplayMemberBinding="{Binding DispositionDate, Mode=OneWay, Converter={StaticResource DateConverter}}" />
        </GridView>
    </ListView.View>
</ListView>

1 Ответ

0 голосов
/ 15 сентября 2011

Проверьте окно вывода отладчика, когда ваша сетка инициализируется. Получаете ли вы какие-либо сообщения об ошибках Binding?

Вам также необходимо отключить AutoGenerateColumns, поскольку вы явно определяете столбцы в своем XAML.

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