Разрешить пустые ячейки в таблице данных WPF с автоматически созданными столбцами - PullRequest
0 голосов
/ 27 августа 2018

В моем приложении WPF есть сетка данных, связанная с коллекцией:

public class MyPropertyCollection : ObservableCollection<MyProperty>

Свойство имеет значения NULL и NULL.

public class MyProperty
{
    public int Required{ get; set; }
    public int? Optional{ get; set; }
}

разрешить пустые значения ячеек для любого из свойств.

Есть ли способ разрешить ему принимать пустые значения для ячеек, если это значение можно обнулять?

Примечание. Столбцы создаются автоматически, поэтому они не определяются в xaml по отдельности.Я использую .Net 4.6.1

<DataGrid x:Name="dgMyProperties">    </DataGrid>

Заранее спасибо

1 Ответ

0 голосов
/ 29 августа 2018

Был в состоянии сделать это, установив TargetNullValue программно в AutoGeneratingColumn

private void DoAutoGeneratingColumn(object sender, System.Windows.Controls.DataGridAutoGeneratingColumnEventArgs e)
{
    System.Windows.Controls.DataGridBoundColumn textCol = e.Column as System.Windows.Controls.DataGridBoundColumn;
    if (textCol != null)
    {
        textCol.Binding.TargetNullValue = string.Empty;
    }
}

И xaml:

<DataGrid x:Name="dgMyProperties" AutoGeneratingColumn="DoAutoGeneratingColumn">
</DataGrid>

По умолчанию TargetNullValue не установлен.Первоначально я также проверял, было ли значение столбца обнуляемым, но это не требуется, поскольку оно автоматически выдаст ошибку, если у вас будет пустая ячейка для значения, которое не может быть нулевым.

Обратите внимание, что выше следуетработают со следующими типами столбцов: DataGridTextColumn, DataGridCheckBoxColumn, DataGridHyperlinkColumn.

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