demonplus
demonplus

Reputation: 5801

How to make Windows Community Toolkit datagrid editable in WinUI3 desktop app?

I am using Windows Community Toolkit datagrid in my WinUI3 desktop application. It works ok but I can't make it editable in-place though in docs they mention it should work.

 <controls:DataGrid FrozenColumnCount="3" AutoGenerateColumns="False" IsReadOnly="False"
                    SelectionMode="Single"  ItemsSource="{Binding items}" >
        <controls:DataGrid.Columns>
        ...
        </controls:DataGrid.Columns>
</controls:DataGrid>

where

 private ObservableCollection<EditableRow> _items = new();
 public ObservableCollection<EditableRow> items
 {
     get => _items;
     set
     {
         SetProperty(ref _items, value, true);
         OnPropertyChanged(nameof(items));
     }
 }

and EditableRow implements IEditableObject interface. I think it is a binding issue, what could be wrong here?

Upvotes: 0

Views: 396

Answers (1)

Andrew KeepCoding
Andrew KeepCoding

Reputation: 13666

Columns are editable (IsReadOnly=false) by default. This works in my sample project.

<controls:DataGrid
    x:Name="DataGridControl"
    AutoGenerateColumns="False"
    IsReadOnly="False"
    ItemsSource="{x:Bind Items, Mode=OneWay}"
    SelectionMode="Single">
    <controls:DataGrid.Columns>
        <controls:DataGridTextColumn
            Binding="{Binding Id}"
            IsReadOnly="True" />
        <controls:DataGridTextColumn Binding="{Binding Title}" />
    </controls:DataGrid.Columns>
</controls:DataGrid>

Upvotes: 0

Related Questions