Определить, когда DataGrid имеет и не имеет содержимого

Я хочу привязать свойство Button IsEnabled к свойству DataGrid / событию, если оно имеет содержимое. Источник элементов DataGrid - это коллекция Observable, но поскольку я реализую фильтрацию, отображаемое может отличаться от коллекции ItemSource.

Есть ли событие или свойство DataGrid, которое запускается, когда представление пустое или не пустое?

1 ответ

Решение

Простой пример может быть сделан с использованием HasItems свойство из базового класса DataGrid ItemsControl

HasItems считает только отображаемые строки после любого фильтра

<StackPanel>
    <DataGrid x:Name="dGrid">
        an item
    </DataGrid>
    <Button Content="a button"
            IsEnabled="{Binding HasItems,ElementName=dGrid}" />
</StackPanel>

поэтому HasItems из DataGrid определит, включена кнопка или нет

Другие вопросы по тегам