Quiero editar el estilo de celda de DataGrid
en WPF. Así que usando Expression Blend que ir a la derecha - Objetos y escala de tiempo >> >> DataGrid editar plantillas adicionales >> Editar CellStyle >> Editar una copia
Esto es lo que aparece en la página:Forma correcta de reemplazar valores de estilo en WPF
<SolidColorBrush x:Key="{x:Static DataGrid.FocusBorderBrushKey}" Color="#FF000000"/>
<Style x:Key="DataGridCellStyle1" TargetType="{x:Type DataGridCell}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
</Trigger>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource {x:Static DataGrid.FocusBorderBrushKey}}"/>
</Trigger>
</Style.Triggers>
</Style>
Pero sólo quieren para cambiar el relleno y el fondo. En cambio, me ha dado 25 líneas de código, ¡incluida la plantilla de la celda! ¿Me estoy perdiendo algo, hay una mejor manera de diseñar elementos como este sin tener que traer tanto código extra innecesario cuando solo quiero cambiar dos elementos?
característica impresionante. Me ayudó a usar plugins dlls sin que estropeara mi estilo, ahorrándome un montón de trabajo. ¡Gracias! –