У меня есть DataGrid, содержащий некоторые DataGridComboBoxColumns.Как установить стиль comboBox внутри WPF DataGrid?
Я хотел бы, чтобы comboBoxes внутри этих столбцов применял определенный стиль.
поэтому я попытался добавить следующее ресурсов моего DataGrid в:
<Style x:Key="{x:Type ComboBox}" TargetType="{x:Type ComboBox}">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/>
<Setter Property="ScrollViewer.CanContentScroll" Value="true"/>
<Setter Property="Background" Value="{StaticResource DefaultBackgroundBrush}"/>
<Setter Property="BorderBrush" Value="{StaticResource DefaultBorderBrush}"/>
<Setter Property="Foreground" Value="{StaticResource DefaultForegroundBrush}"/>
<Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/>
<Setter Property="FontSize" Value="{StaticResource DefaultFontSize}"/>
<Setter Property="Padding" Value="2"/>
</Style>
ничего не делать вообще.
достаточно удивительно, если я добавлю:
<Style x:Key="{x:Type ComboBoxItem}" TargetType="ComboBoxItem">
<Setter Property="SnapsToDevicePixels" Value="true"/>
<Setter Property="OverridesDefaultStyle" Value="true"/>
<Setter Property="Foreground" Value="Red"/>
</Style>
в comboBoxItems внутри один и тот же ComboBoxes получит красный цвет переднего плана Правильно.
так что я не могу установить стиль comboBoxes внутри моего dataGrid, но я могу установить стиль comboBoxItems внутри тех же comboBoxes.
довольно удивительно ...
ли кто-нибудь имеет понятия о том, что здесь происходит, и как я могу решить мою проблему?
спасибо
Я думаю, что определение x: key = type - это ситуации, когда вы вводите новые именованные стили. Они основаны на оригинальном стиле. Но при создании basedon = {staticresource {x: type type}} он будет использовать ваш стиль по умолчанию, то есть тот, который имеет x: key = {x: type type}, а не тот, который предоставляется wpf. –