Что я использую для «BasedOn» при создании пользовательского стиля для DataGridColumnHeader в WPF? - PullRequest
0 голосов
/ 02 октября 2009

Что я должен поставить для BasedOn в этом стиле?

<Style
    x:Key="DataGrid_ColumnHeaderStyle"
    TargetType="wt:DataGridColumnHeader"
    BasedOn="??????????"> <!-- I want this to be a reference to the default style -->
    <Setter
        Property="BorderBrush"
        Value="{StaticResource Media_RaisedBorderBrush}" />
    <Setter
        Property="Background"
        Value="{StaticResource Media_RaisedBackgroundBrush}" />
    <Setter
        Property="Foreground"
        Value="{StaticResource Media_RaisedForegroundBrush}" />
</Style>

Я не хочу переопределять весь стиль по умолчанию, я просто хочу изменить несколько свойств с помощью сеттеров.

EDIT:

Я знаю, как использовать BasedOn, я просто не знаю название стиля, на котором я пытаюсь основывать свой стиль, или где его найти. Каково имя стиля по умолчанию / встроенного стиля?

Редактировать 2:

Хорошо, я думаю, это не то, что мне было нужно. Кажется, не имеет значения, включаю я BasedOn="{StaticResource {x:Type wt:DataGridColumnHeader}}" или нет. Проблема в том, что просто установка BorderBrush, Background и Foreground приводит к исчезновению стрелок сортировки. Я не понимаю, почему это происходит, потому что стрелки сортировки определены в ControlTemplate, и я не редактирую / не переопределяю ControlTemplate. Где мои сортировки стрел? (У меня определенно включена сортировка, и нажатие на заголовок столбца приводит к сортировке данных ... просто не отображаются стрелки.)

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

BasedOn = "{StaticResource {x: Type TextBox}}"> и он наследует от стиля по умолчанию (это для TextBox, но он работает для каждого элемента управления).

1 голос
/ 02 октября 2009

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

Чтобы узнать больше информации о стиле / шаблоне по умолчанию, один из способов сделать это - открыть свой проект в Blend и щелкнуть правой кнопкой мыши на элементе, для которого вы хотите просмотреть шаблон по умолчанию, и выбрать «Редактировать шаблон». .. ", затем выберите" Редактировать копию ".

...