У меня есть ObservableCollection, связанный с DataGrid, и я хочу иметь возможность добавлять в него строки во время выполнения, используя фактические строки. Однако пустая строка не видна, поэтому пользователь не может добавлять строки. Я уже исследовал это, я добавил CanUserAddRows = true и IsReadOnly = false. Я также добавил пустой конструктор для объекта CostCenter, и он все еще не работает. Приведенный ниже код является то, что я до сих пор:Blank Row не отображается в DataGrid
В XAML:
<Window.Resources>
<CollectionViewSource x:Key="jobItemViewSource1" d:DesignSource="{d:DesignInstance my:JobItem, CreateList=True}" />
<CollectionViewSource x:Key="CostCenterListViewSource" Source="{Binding Path=CostCenterList, Source={StaticResource jobItemViewSource1}}" />
</Window.Resources>
<DataGrid AutoGenerateColumns="False" ItemsSource="{Binding Source={StaticResource CostCenterListViewSource}}" Name="costCenterListDataGrid" CanUserResizeRows="False" CanUserAddRows="True" CanUserDeleteRows="True" Background="LightGray" IsReadOnly="False">
<DataGrid.Columns>
<DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=Name, Mode=TwoWay}" Header="Cost Center" />
<DataGridTextColumn x:Name="glCodeColumn" Binding="{Binding Path=GlCode, Mode=TwoWay}" Header="Gl Code"/>
<DataGridTextColumn x:Name="costCenterPercentageColumn" Binding="{Binding Path=CostCenterPercentage, Mode=TwoWay}" Header="%"/>
</DataGrid.Columns>
</DataGrid>
В коде позади Я поставил DataContext:
costCenterListDataGrid.DataContext = item.CostCenterList;
В JobItem Класс:
private ObservableCollection<CostCenter> costCenterList;
public JobItem()
{
costCenterList = new ObservableCollection<CostCenter>();
}
public ObservableCollection<CostCenter> CostCenterList
{
get { return costCenterList; }
set
{
costCenterList = value;
}
}
и в классе CostCenter У меня есть:
Я попытался пропустить ненужный код, метод OnPropertyChanged работает так, как я использовал его в другом коде, иначе, надеюсь, этого достаточно для того, чтобы вы помогли мне разобраться. Также работает datacontext для JobItem, который я также не добавил в этот фрагмент.
Я не получаю Source = {StaticResource jobItemViewSource1}} – Paparazzi
, которая была создана автоматически VS, когда я использовал источник данных. Он ссылается на мои Windows.Resources – Erika