Как стилизовать кнопку «Выбрать все» в сетке данных?

1

У меня есть определение xaml datagrid, у меня есть все мои настройки и все, но я не знаю, как стилизовать эту верхнюю левую кнопку в углу datagrid, которая работает как "выбрать все", когда вы нажимаете ее.

Например, я могу стилизовать такие ячейки:

<Style TargetType="DataGridCell">...

Итак, как мне стиль, который выбирает все кнопки? Есть что-то вроде?

<Style TargetType="DataGridSelectAllButton">

?

Теги:
xaml
wpf

2 ответа

0
Лучший ответ

Правильно, поэтому, если мы посмотрим на документы и сделаем быстрый поиск по страницам для " the button in the upper left corner of the DataGrid ", мы найдем ResourceId=DataGridSelectAllButtonStyle примерно на полпути этой страницы и в верхней части их шаблона Примеры.

Я бы предложил использовать Blend, чтобы срывать части элементов управления, как это, иногда элементы могут быть довольно хороши, и это довольно удобно, чтобы иметь возможность просто щелкнуть правой кнопкой мыши и продолжать редактировать свой путь через шаблоны, пока вы не найдете то, что вам нужно, а не пытаясь сделать это слепым, которые иногда могут быть настоящей болью. Кроме того, сначала проверка документов должна быть интуитивно понятной.

В любом случае, это помогает, приветствует.

  • 0
    О боже, этот стиль дольше, чем все мое приложение. Я просто хотел изменить цвет фона этой крошечной кнопки. Можно ли оставить все в этом шаблоне по умолчанию ТОЛЬКО для изменения цвета фона без необходимости включать телефонную книгу Токио в мой xaml?
  • 0
    Он уже существует в вашем приложении amigo, как вы думаете, как все ваши стандартные вещи теперь стилизованы?
Показать ещё 1 комментарий
1

Добавьте это в свои ресурсы:

<Style x:Key="{ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}" TargetType="{x:Type Button}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type Button}">
                ...
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
  • 0
    Казалось бы, это самый простой подход, и я попытался использовать его, чтобы поместить флажок «проверить все» в верхнем левом углу DataGrid. К сожалению, кажется, что единственный способ включить CheckBox - установить для свойства SelectionMode объекта DataGrid значение Extended, что может быть нецелесообразно. Если у кого есть обходной путь, поделитесь пожалуйста.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню