У меня есть приложение с datagrid с 1 столбцом (пока). Как удалить второй пустой столбец из datagrid, чтобы в столбце данных отображались только столбцы с данными.
У меня есть приложение с datagrid с 1 столбцом (пока). Как удалить второй пустой столбец из datagrid, чтобы в столбце данных отображались только столбцы с данными.
Как замечает vorrtex в комментарии, лучше всего установить ширину столбца для заполнения всего доступного пространства:
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn Header="FishLine ID" Width="*"/>
</DataGrid.Columns>
...
</DataGrid>
В зависимости от используемого контейнера вы также можете выровнять сетку с левой стороны, оставив свободное пространство справа:
<DataGrid HorizontalAlignment="Left">
<DataGrid.Columns>
<DataGridTextColumn Header="FishLine ID"/>
</DataGrid.Columns>
...
</DataGrid>
Надеюсь, это то, что вы искали...
Думаю, вам нужно установить AutoGenerateColumns
в False и сделать что-то вроде этого:
<DataGrid AutoGenerateColumns = "False" ItemsSource = "{Binding BindSource}">
<DataGrid.Columns>
<DataGridTextColumn Header = "FishLine ID" Binding = "{Binding ID}" Width="*"/>
</DataGrid.Columns>
</DataGrid>
Это должно сделать это: p
Если ширина одного столбца равна "*", тогда я вижу пустой столбец справа от datagrid. Чтобы решить эту проблему, укажите ширину datagrid как "Width = 500" вместо MinWidth и MaxWidth.
<DataGrid AutoGenerateColumns="False" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="500" MinHeight="180" CanUserAddRows="False" CanUserDeleteRows="false" ItemsSource="{Binding MyList}" SelectedItem="{Binding SelectedValue}">
<DataGrid.Columns>
<DataGridTextColumn Header="Start Date" Binding="{Binding StartDate}" IsReadOnly="True" MinWidth="60" Width="Auto"/>
<DataGridTextColumn Header="End Date" Binding="{Binding EndDate}" IsReadOnly="True" MinWidth="60" Width="*"/>
</DataGrid.Columns>
</DataGrid>