Вы можете получить из Style
для создания сокращенной записи, которая выглядит следующим образом:
<local:BackgroundStyle
x:Key="OptionalBackground"
TargetType="{x:Type DataPresenter:CellValuePresenter}"
BasedOn="{StaticResource OptionalFieldCellPresenter}"
Path="Record.DataItem.IsEditAllowed"
Value="{StaticResource ReadOnlyField}"/>
и реализация для этого примера может быть:
public class BackgroundStyle : Style, ISupportInitialize
{
public string Path { get; set; }
public object Value { get; set; }
public void BeginInit() { }
public void EndInit()
{
var trigger = new DataTrigger
{
Binding = new Binding
{
Path = new PropertyPath(Path),
RelativeSource = new RelativeSource(RelativeSourceMode.Self)
},
};
trigger.Setters.Add(new Setter(Control.BackgroundProperty, Value));
Triggers.Add(trigger);
}
}