У меня есть приложение WPF, которое использует DataGrid
для отображения некоторых данных.Когда я запускаю программу, появляется дополнительный столбец, как показано здесь:
Вот как это выглядит, когда я создаю его в VS2010
Я отключил AutoGenerateColumns onсетка данных и заданные столбцы индивидуально как таковые (это пользовательский элемент управления):
<Grid Margin="10,10,10,10">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition />
</Grid.RowDefinitions>
<DataGrid x:Name="EmployeeHours" AutoGenerateColumns="False" ItemsSource="{Binding EmployeeHoursLastWeek}" Width="Auto">
<DataGrid.Columns>
<DataGridTextColumn Header="PerceptionistID" Binding="{Binding PerceptionistID}" Width="100" />
<DataGridTextColumn Header="Week Of" Binding="{Binding WeekOf, StringFormat={}{0:MM/dd/yyyy}}" Width="75" />
<DataGridTextColumn Header="Regular Hours" Binding="{Binding WorkHours}" Width="100" />
<DataGridTextColumn Header="PTO Hours" Binding="{Binding PTOHours}" Width="100" />
<DataGridTextColumn Header="Holiday Hours" Binding="{Binding HolidayHours}" Width="100" />
</DataGrid.Columns>
</DataGrid>
<Button x:Name="ImportHoursButton" Content="Import Hours"
Command="{Binding ImportHoursCommand}"
Height="25" Width="100" Margin="10"
VerticalAlignment="Bottom" HorizontalAlignment="Right"
Grid.Row="1" />
</Grid>
У меня также есть MainWindowView, который использует инъекцию для отображенияпредставления как таковые (это обычное окно):
<Window x:Class="Sidekick.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="clr-namespace:Sidekick.ViewModel"
xmlns:vw="clr-namespace:Sidekick.View"
Title="Sidekick">
<!-- Typically done in a resources dictionary -->
<Window.Resources>
<DataTemplate DataType="{x:Type vm:EmployeeHoursViewModel}">
<vw:EmployeeHoursView />
</DataTemplate>
</Window.Resources>
<StackPanel>
<ItemsControl ItemsSource="{Binding ViewModels}" Margin="3" />
</StackPanel>
</Window>
В конструкторе я указал и MainWindowView, и EmployeeHoursView в качестве корня Auto Size, так как я хочу, чтобы окно было достаточно большим, чтобы вместить сетку и кнопку,Однако, когда я запускаю программу, я получаю дополнительный столбец в сетке данных, и это делает окно программы примерно вдвое большим (как по ширине, так и по высоте), чем требуется EmployeeHoursView.Как я могу кодировать это так, чтобы окно моего приложения было достаточно большим для EmployeeHoursView без предоставления конкретных значений?Что вызывает появление этого дополнительного столбца?